Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcmraidha2011-03-28 21:36:14 +0000
committercmraidha2011-03-28 21:36:14 +0000
commite18c6f15991a7ad74a0ee4bfec09e91718319bf3 (patch)
tree8ae6e2bc733b0de581303755c00ba050e70bee27 /extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM
parentbeeac2826a9218b640251ce64feb469c3841c752 (diff)
downloadorg.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.tar.gz
org.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.tar.xz
org.eclipse.papyrus-e18c6f15991a7ad74a0ee4bfec09e91718319bf3.zip
Merged with branch 0.7.X.
Diffstat (limited to 'extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM')
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralFactory.java62
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralPackage.java524
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResource.java160
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResourceService.java88
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralFactoryImpl.java117
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralPackageImpl.java565
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceImpl.java395
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceServiceImpl.java229
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralAdapterFactory.java188
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralSwitch.java193
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter.java53
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge.java51
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus.java141
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationFactory.java98
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationPackage.java1601
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource.java29
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint.java53
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia.java82
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwArbiterImpl.java176
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBridgeImpl.java143
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBusImpl.java335
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationFactoryImpl.java161
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationPackageImpl.java642
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationResourceImpl.java52
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwEndPointImpl.java250
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwMediaImpl.java557
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationAdapterFactory.java318
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationSwitch.java350
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwASIC.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor.java29
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingFactory.java98
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingPackage.java1952
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA.java118
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD.java208
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor.java322
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type.java327
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class.java327
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwASICImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwBranchPredictorImpl.java52
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingFactoryImpl.java282
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingPackageImpl.java966
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingResourceImpl.java339
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwISAImpl.java284
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwPLDImpl.java468
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwProcessorImpl.java738
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingAdapterFactory.java299
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingSwitch.java331
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWActuator.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWSensor.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice.java31
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDeviceFactory.java89
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevicePackage.java1009
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwSupport.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWActuatorImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWSensorImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceFactoryImpl.java150
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceImpl.java285
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDevicePackageImpl.java517
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwI_OImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwSupportImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceAdapterFactory.java281
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceSwitch.java313
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache.java177
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive.java87
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory.java136
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryFactory.java89
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryPackage.java1857
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM.java201
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM.java90
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type.java354
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy.java327
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy.java273
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwCacheImpl.java392
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwDriveImpl.java235
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryFactoryImpl.java339
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryImpl.java415
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryPackageImpl.java918
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwRAMImpl.java445
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwROMImpl.java228
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryAdapterFactory.java262
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemorySwitch.java290
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA.java109
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU.java161
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager.java57
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerFactory.java71
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerPackage.java897
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwDMAImpl.java384
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwMMUImpl.java369
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerFactoryImpl.java128
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerImpl.java253
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerPackageImpl.java603
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerAdapterFactory.java265
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerSwitch.java275
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock.java28
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer.java114
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingFactory.java71
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingPackage.java675
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource.java31
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwClockImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimerImpl.java289
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingFactoryImpl.java128
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingPackageImpl.java509
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingResourceImpl.java52
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingAdapterFactory.java226
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingSwitch.java240
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind.java354
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState.java273
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType.java354
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent.java331
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutFactory.java53
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutPackage.java748
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwComponentImpl.java776
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutFactoryImpl.java227
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutPackageImpl.java723
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutAdapterFactory.java171
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutSwitch.java173
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerFactory.java62
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerPackage.java743
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply.java88
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwCoolingSupplyImpl.java175
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerFactoryImpl.java117
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerPackageImpl.java484
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerSupplyImpl.java229
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerAdapterFactory.java209
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerSwitch.java215
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerXMLProcessor.java61
157 files changed, 39614 insertions, 0 deletions
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralFactory.java
new file mode 100644
index 00000000000..52e6029bc26
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral;
+
+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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage
+ * @generated
+ */
+public interface HwGeneralFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwGeneralFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Resource Service</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Resource Service</em>'.
+ * @generated
+ */
+ HwResourceService createHwResourceService();
+
+ /**
+ * Returns a new object of class '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Resource</em>'.
+ * @generated
+ */
+ HwResource createHwResource();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwGeneralPackage getHwGeneralPackage();
+
+} //HwGeneralFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralPackage.java
new file mode 100644
index 00000000000..53d4e272141
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwGeneralPackage.java
@@ -0,0 +1,524 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwGeneralPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwGeneral";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwGeneral/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwGeneral";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwGeneralPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl <em>Hw Resource Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl#getHwResourceService()
+ * @generated
+ */
+ int HW_RESOURCE_SERVICE = 0;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__OWNER = GRMPackage.GR_SERVICE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Base Execution Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__BASE_EXECUTION_SPECIFICATION = GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavioral Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__BASE_BEHAVIORAL_FEATURE = GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__BASE_BEHAVIOR = GRMPackage.GR_SERVICE__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__BASE_COLLABORATION = GRMPackage.GR_SERVICE__BASE_COLLABORATION;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration Use</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__BASE_COLLABORATION_USE = GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE;
+
+ /**
+ * The feature id for the '<em><b>Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__CONSUMPTION = GRMPackage.GR_SERVICE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE__DISSIPATION = GRMPackage.GR_SERVICE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw Resource Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_SERVICE_FEATURE_COUNT = GRMPackage.GR_SERVICE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl <em>Hw Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl#getHwResource()
+ * @generated
+ */
+ int HW_RESOURCE = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__RES_MULT = GRMPackage.RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__IS_PROTECTED = GRMPackage.RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__IS_ACTIVE = GRMPackage.RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__BASE_PROPERTY = GRMPackage.RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__BASE_INSTANCE_SPECIFICATION = GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__BASE_CLASSIFIER = GRMPackage.RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__BASE_LIFELINE = GRMPackage.RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__BASE_CONNECTABLE_ELEMENT = GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__DESCRIPTION = GRMPackage.RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__PHW_SERVICES = GRMPackage.RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__RHW_SERVICES = GRMPackage.RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__OWNED_HW = GRMPackage.RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__END_POINTS = GRMPackage.RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE__FREQUENCY = GRMPackage.RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Hw Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RESOURCE_FEATURE_COUNT = GRMPackage.RESOURCE_FEATURE_COUNT + 6;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService <em>Hw Resource Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Resource Service</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService
+ * @generated
+ */
+ EClass getHwResourceService();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getConsumption <em>Consumption</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Consumption</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getConsumption()
+ * @see #getHwResourceService()
+ * @generated
+ */
+ EAttribute getHwResourceService_Consumption();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getDissipation <em>Dissipation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Dissipation</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getDissipation()
+ * @see #getHwResourceService()
+ * @generated
+ */
+ EAttribute getHwResourceService_Dissipation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ EClass getHwResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getDescription()
+ * @see #getHwResource()
+ * @generated
+ */
+ EAttribute getHwResource_Description();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getP_HW_Services <em>PHW Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>PHW Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getP_HW_Services()
+ * @see #getHwResource()
+ * @generated
+ */
+ EReference getHwResource_P_HW_Services();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getR_HW_Services <em>RHW Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>RHW Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getR_HW_Services()
+ * @see #getHwResource()
+ * @generated
+ */
+ EReference getHwResource_R_HW_Services();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getOwnedHW <em>Owned HW</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Owned HW</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getOwnedHW()
+ * @see #getHwResource()
+ * @generated
+ */
+ EReference getHwResource_OwnedHW();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getEndPoints <em>End Points</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>End Points</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getEndPoints()
+ * @see #getHwResource()
+ * @generated
+ */
+ EReference getHwResource_EndPoints();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getFrequency <em>Frequency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Frequency</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getFrequency()
+ * @see #getHwResource()
+ * @generated
+ */
+ EAttribute getHwResource_Frequency();
+
+ /**
+ * 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
+ */
+ HwGeneralFactory getHwGeneralFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl <em>Hw Resource Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl#getHwResourceService()
+ * @generated
+ */
+ EClass HW_RESOURCE_SERVICE = eINSTANCE.getHwResourceService();
+
+ /**
+ * The meta object literal for the '<em><b>Consumption</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RESOURCE_SERVICE__CONSUMPTION = eINSTANCE.getHwResourceService_Consumption();
+
+ /**
+ * The meta object literal for the '<em><b>Dissipation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RESOURCE_SERVICE__DISSIPATION = eINSTANCE.getHwResourceService_Dissipation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl <em>Hw Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl#getHwResource()
+ * @generated
+ */
+ EClass HW_RESOURCE = eINSTANCE.getHwResource();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RESOURCE__DESCRIPTION = eINSTANCE.getHwResource_Description();
+
+ /**
+ * The meta object literal for the '<em><b>PHW Services</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_RESOURCE__PHW_SERVICES = eINSTANCE.getHwResource_P_HW_Services();
+
+ /**
+ * The meta object literal for the '<em><b>RHW Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_RESOURCE__RHW_SERVICES = eINSTANCE.getHwResource_R_HW_Services();
+
+ /**
+ * The meta object literal for the '<em><b>Owned HW</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_RESOURCE__OWNED_HW = eINSTANCE.getHwResource_OwnedHW();
+
+ /**
+ * The meta object literal for the '<em><b>End Points</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_RESOURCE__END_POINTS = eINSTANCE.getHwResource_EndPoints();
+
+ /**
+ * The meta object literal for the '<em><b>Frequency</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RESOURCE__FREQUENCY = eINSTANCE.getHwResource_Frequency();
+
+ }
+
+} //HwGeneralPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResource.java
new file mode 100644
index 00000000000..437ce7f8dca
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResource.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getP_HW_Services <em>PHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getR_HW_Services <em>RHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getOwnedHW <em>Owned HW</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getEndPoints <em>End Points</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getFrequency <em>Frequency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource()
+ * @model
+ * @generated
+ */
+public interface HwResource extends Resource {
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_Description()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_String" ordered="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>PHW Services</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>PHW Services</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>PHW Services</em>' containment reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_P_HW_Services()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<HwResourceService> getP_HW_Services();
+
+ /**
+ * Returns the value of the '<em><b>RHW Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>RHW Services</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>RHW Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_R_HW_Services()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwResourceService> getR_HW_Services();
+
+ /**
+ * Returns the value of the '<em><b>Owned HW</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned HW</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>Owned HW</em>' containment reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_OwnedHW()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<HwResource> getOwnedHW();
+
+ /**
+ * Returns the value of the '<em><b>End Points</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>End Points</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>End Points</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_EndPoints()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwEndPoint> getEndPoints();
+
+ /**
+ * Returns the value of the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Frequency</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Frequency</em>' attribute.
+ * @see #setFrequency(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResource_Frequency()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Frequency" ordered="false"
+ * @generated
+ */
+ String getFrequency();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource#getFrequency <em>Frequency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Frequency</em>' attribute.
+ * @see #getFrequency()
+ * @generated
+ */
+ void setFrequency(String value);
+
+} // HwResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResourceService.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResourceService.java
new file mode 100644
index 00000000000..633c4d8dac1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/HwResourceService.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Resource Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getConsumption <em>Consumption</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getDissipation <em>Dissipation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResourceService()
+ * @model
+ * @generated
+ */
+public interface HwResourceService extends GrService {
+ /**
+ * Returns the value of the '<em><b>Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Consumption</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Consumption</em>' attribute.
+ * @see #setConsumption(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResourceService_Consumption()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getConsumption();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getConsumption <em>Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Consumption</em>' attribute.
+ * @see #getConsumption()
+ * @generated
+ */
+ void setConsumption(String value);
+
+ /**
+ * Returns the value of the '<em><b>Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dissipation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dissipation</em>' attribute.
+ * @see #setDissipation(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#getHwResourceService_Dissipation()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getDissipation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService#getDissipation <em>Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dissipation</em>' attribute.
+ * @see #getDissipation()
+ * @generated
+ */
+ void setDissipation(String value);
+
+} // HwResourceService
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralFactoryImpl.java
new file mode 100644
index 00000000000..036f2ac8840
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralFactoryImpl.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTE_DesignModel.HRM.HwGeneral.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwGeneralFactoryImpl extends EFactoryImpl implements HwGeneralFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwGeneralFactory init() {
+ try {
+ HwGeneralFactory theHwGeneralFactory = (HwGeneralFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwGeneral/1");
+ if (theHwGeneralFactory != null) {
+ return theHwGeneralFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwGeneralFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE: return createHwResourceService();
+ case HwGeneralPackage.HW_RESOURCE: return createHwResource();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwResourceService createHwResourceService() {
+ HwResourceServiceImpl hwResourceService = new HwResourceServiceImpl();
+ return hwResourceService;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwResource createHwResource() {
+ HwResourceImpl hwResource = new HwResourceImpl();
+ return hwResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralPackage getHwGeneralPackage() {
+ return (HwGeneralPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwGeneralPackage getPackage() {
+ return HwGeneralPackage.eINSTANCE;
+ }
+
+} //HwGeneralFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralPackageImpl.java
new file mode 100644
index 00000000000..024a39648db
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwGeneralPackageImpl.java
@@ -0,0 +1,565 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwGeneralPackageImpl extends EPackageImpl implements HwGeneralPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwResourceServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwResourceEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwGeneralPackageImpl() {
+ super(eNS_URI, HwGeneralFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwGeneralPackage#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 HwGeneralPackage init() {
+ if (isInited) return (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwGeneralPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwGeneralPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwGeneralPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwGeneralPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwGeneralPackage.eNS_URI, theHwGeneralPackage);
+ return theHwGeneralPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwResourceService() {
+ return hwResourceServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwResourceService_Consumption() {
+ return (EAttribute)hwResourceServiceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwResourceService_Dissipation() {
+ return (EAttribute)hwResourceServiceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwResource() {
+ return hwResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwResource_Description() {
+ return (EAttribute)hwResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwResource_P_HW_Services() {
+ return (EReference)hwResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwResource_R_HW_Services() {
+ return (EReference)hwResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwResource_OwnedHW() {
+ return (EReference)hwResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwResource_EndPoints() {
+ return (EReference)hwResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwResource_Frequency() {
+ return (EAttribute)hwResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralFactory getHwGeneralFactory() {
+ return (HwGeneralFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwResourceServiceEClass = createEClass(HW_RESOURCE_SERVICE);
+ createEAttribute(hwResourceServiceEClass, HW_RESOURCE_SERVICE__CONSUMPTION);
+ createEAttribute(hwResourceServiceEClass, HW_RESOURCE_SERVICE__DISSIPATION);
+
+ hwResourceEClass = createEClass(HW_RESOURCE);
+ createEAttribute(hwResourceEClass, HW_RESOURCE__DESCRIPTION);
+ createEReference(hwResourceEClass, HW_RESOURCE__PHW_SERVICES);
+ createEReference(hwResourceEClass, HW_RESOURCE__RHW_SERVICES);
+ createEReference(hwResourceEClass, HW_RESOURCE__OWNED_HW);
+ createEReference(hwResourceEClass, HW_RESOURCE__END_POINTS);
+ createEAttribute(hwResourceEClass, HW_RESOURCE__FREQUENCY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ HwCommunicationPackage theHwCommunicationPackage = (HwCommunicationPackage)EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwResourceServiceEClass.getESuperTypes().add(theGRMPackage.getGrService());
+ hwResourceEClass.getESuperTypes().add(theGRMPackage.getResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwResourceServiceEClass, HwResourceService.class, "HwResourceService", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwResourceService_Consumption(), theBasicNFP_TypesPackage.getNFP_Power(), "consumption", null, 0, 1, HwResourceService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwResourceService_Dissipation(), theBasicNFP_TypesPackage.getNFP_Power(), "dissipation", null, 0, 1, HwResourceService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwResourceEClass, HwResource.class, "HwResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwResource_Description(), theBasicNFP_TypesPackage.getNFP_String(), "description", null, 0, 1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwResource_P_HW_Services(), this.getHwResourceService(), null, "p_HW_Services", null, 0, -1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwResource_R_HW_Services(), this.getHwResourceService(), null, "r_HW_Services", null, 0, -1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwResource_OwnedHW(), this.getHwResource(), null, "ownedHW", null, 0, -1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwResource_EndPoints(), theHwCommunicationPackage.getHwEndPoint(), null, "endPoints", null, 0, -1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwResource_Frequency(), theBasicNFP_TypesPackage.getNFP_Frequency(), "frequency", null, 0, 1, HwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Create annotations
+ // subsets
+ createSubsetsAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>subsets</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createSubsetsAnnotations() {
+ String source = "subsets";
+ addAnnotation
+ (getHwResource_EndPoints(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ }
+
+} //HwGeneralPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceImpl.java
new file mode 100644
index 00000000000..0630eebf1a8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceImpl.java
@@ -0,0 +1,395 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getP_HW_Services <em>PHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getR_HW_Services <em>RHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getOwnedHW <em>Owned HW</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getEndPoints <em>End Points</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl#getFrequency <em>Frequency</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwResourceImpl extends ResourceImpl implements HwResource {
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getP_HW_Services() <em>PHW Services</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getP_HW_Services()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResourceService> p_HW_Services;
+
+ /**
+ * The cached value of the '{@link #getR_HW_Services() <em>RHW Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getR_HW_Services()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResourceService> r_HW_Services;
+
+ /**
+ * The cached value of the '{@link #getOwnedHW() <em>Owned HW</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedHW()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResource> ownedHW;
+
+ /**
+ * The cached value of the '{@link #getEndPoints() <em>End Points</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEndPoints()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwEndPoint> endPoints;
+
+ /**
+ * The default value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrequency()
+ * @generated
+ * @ordered
+ */
+ protected static final String FREQUENCY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrequency()
+ * @generated
+ * @ordered
+ */
+ protected String frequency = FREQUENCY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwGeneralPackage.Literals.HW_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwGeneralPackage.HW_RESOURCE__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResourceService> getP_HW_Services() {
+ if (p_HW_Services == null) {
+ p_HW_Services = new EObjectContainmentEList<HwResourceService>(HwResourceService.class, this, HwGeneralPackage.HW_RESOURCE__PHW_SERVICES);
+ }
+ return p_HW_Services;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResourceService> getR_HW_Services() {
+ if (r_HW_Services == null) {
+ r_HW_Services = new EObjectResolvingEList<HwResourceService>(HwResourceService.class, this, HwGeneralPackage.HW_RESOURCE__RHW_SERVICES);
+ }
+ return r_HW_Services;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResource> getOwnedHW() {
+ if (ownedHW == null) {
+ ownedHW = new EObjectContainmentEList<HwResource>(HwResource.class, this, HwGeneralPackage.HW_RESOURCE__OWNED_HW);
+ }
+ return ownedHW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwEndPoint> getEndPoints() {
+ if (endPoints == null) {
+ endPoints = new EObjectResolvingEList<HwEndPoint>(HwEndPoint.class, this, HwGeneralPackage.HW_RESOURCE__END_POINTS);
+ }
+ return endPoints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFrequency() {
+ return frequency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrequency(String newFrequency) {
+ String oldFrequency = frequency;
+ frequency = newFrequency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwGeneralPackage.HW_RESOURCE__FREQUENCY, oldFrequency, frequency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES:
+ return ((InternalEList<?>)getP_HW_Services()).basicRemove(otherEnd, msgs);
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW:
+ return ((InternalEList<?>)getOwnedHW()).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 HwGeneralPackage.HW_RESOURCE__DESCRIPTION:
+ return getDescription();
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES:
+ return getP_HW_Services();
+ case HwGeneralPackage.HW_RESOURCE__RHW_SERVICES:
+ return getR_HW_Services();
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW:
+ return getOwnedHW();
+ case HwGeneralPackage.HW_RESOURCE__END_POINTS:
+ return getEndPoints();
+ case HwGeneralPackage.HW_RESOURCE__FREQUENCY:
+ return getFrequency();
+ }
+ 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 HwGeneralPackage.HW_RESOURCE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES:
+ getP_HW_Services().clear();
+ getP_HW_Services().addAll((Collection<? extends HwResourceService>)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__RHW_SERVICES:
+ getR_HW_Services().clear();
+ getR_HW_Services().addAll((Collection<? extends HwResourceService>)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW:
+ getOwnedHW().clear();
+ getOwnedHW().addAll((Collection<? extends HwResource>)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__END_POINTS:
+ getEndPoints().clear();
+ getEndPoints().addAll((Collection<? extends HwEndPoint>)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__FREQUENCY:
+ setFrequency((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES:
+ getP_HW_Services().clear();
+ return;
+ case HwGeneralPackage.HW_RESOURCE__RHW_SERVICES:
+ getR_HW_Services().clear();
+ return;
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW:
+ getOwnedHW().clear();
+ return;
+ case HwGeneralPackage.HW_RESOURCE__END_POINTS:
+ getEndPoints().clear();
+ return;
+ case HwGeneralPackage.HW_RESOURCE__FREQUENCY:
+ setFrequency(FREQUENCY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES:
+ return p_HW_Services != null && !p_HW_Services.isEmpty();
+ case HwGeneralPackage.HW_RESOURCE__RHW_SERVICES:
+ return r_HW_Services != null && !r_HW_Services.isEmpty();
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW:
+ return ownedHW != null && !ownedHW.isEmpty();
+ case HwGeneralPackage.HW_RESOURCE__END_POINTS:
+ return endPoints != null && !endPoints.isEmpty();
+ case HwGeneralPackage.HW_RESOURCE__FREQUENCY:
+ return FREQUENCY_EDEFAULT == null ? frequency != null : !FREQUENCY_EDEFAULT.equals(frequency);
+ }
+ 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(" (description: ");
+ result.append(description);
+ result.append(", frequency: ");
+ result.append(frequency);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceServiceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceServiceImpl.java
new file mode 100644
index 00000000000..7ea597ca626
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/impl/HwResourceServiceImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Resource Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl#getConsumption <em>Consumption</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceServiceImpl#getDissipation <em>Dissipation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwResourceServiceImpl extends GrServiceImpl implements HwResourceService {
+ /**
+ * The default value of the '{@link #getConsumption() <em>Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConsumption()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONSUMPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getConsumption() <em>Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConsumption()
+ * @generated
+ * @ordered
+ */
+ protected String consumption = CONSUMPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDissipation() <em>Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDissipation()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISSIPATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDissipation() <em>Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDissipation()
+ * @generated
+ * @ordered
+ */
+ protected String dissipation = DISSIPATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwResourceServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwGeneralPackage.Literals.HW_RESOURCE_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getConsumption() {
+ return consumption;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConsumption(String newConsumption) {
+ String oldConsumption = consumption;
+ consumption = newConsumption;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwGeneralPackage.HW_RESOURCE_SERVICE__CONSUMPTION, oldConsumption, consumption));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDissipation() {
+ return dissipation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDissipation(String newDissipation) {
+ String oldDissipation = dissipation;
+ dissipation = newDissipation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwGeneralPackage.HW_RESOURCE_SERVICE__DISSIPATION, oldDissipation, dissipation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__CONSUMPTION:
+ return getConsumption();
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__DISSIPATION:
+ return getDissipation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__CONSUMPTION:
+ setConsumption((String)newValue);
+ return;
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__DISSIPATION:
+ setDissipation((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__CONSUMPTION:
+ setConsumption(CONSUMPTION_EDEFAULT);
+ return;
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__DISSIPATION:
+ setDissipation(DISSIPATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__CONSUMPTION:
+ return CONSUMPTION_EDEFAULT == null ? consumption != null : !CONSUMPTION_EDEFAULT.equals(consumption);
+ case HwGeneralPackage.HW_RESOURCE_SERVICE__DISSIPATION:
+ return DISSIPATION_EDEFAULT == null ? dissipation != null : !DISSIPATION_EDEFAULT.equals(dissipation);
+ }
+ 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(" (consumption: ");
+ result.append(consumption);
+ result.append(", dissipation: ");
+ result.append(dissipation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwResourceServiceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralAdapterFactory.java
new file mode 100644
index 00000000000..648f00f82df
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage
+ * @generated
+ */
+public class HwGeneralAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwGeneralPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwGeneralPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwGeneralSwitch<Adapter> modelSwitch =
+ new HwGeneralSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwResourceService(HwResourceService object) {
+ return createHwResourceServiceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseGrService(GrService object) {
+ return createGrServiceAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService <em>Hw Resource Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService
+ * @generated
+ */
+ public Adapter createHwResourceServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService <em>Gr Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService
+ * @generated
+ */
+ public Adapter createGrServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //HwGeneralAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceFactoryImpl.java
new file mode 100644
index 00000000000..428cae69f71
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTE_DesignModel.HRM.HwGeneral.util.HwGeneralResourceImpl
+ * @generated
+ */
+public class HwGeneralResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwGeneralResourceImpl(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;
+ }
+
+} //HwGeneralResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceImpl.java
new file mode 100644
index 00000000000..eaa7fe3ad10
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTE_DesignModel.HRM.HwGeneral.util.HwGeneralResourceFactoryImpl
+ * @generated
+ */
+public class HwGeneralResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwGeneralResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwGeneralResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralSwitch.java
new file mode 100644
index 00000000000..0efd752059c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralSwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage
+ * @generated
+ */
+public class HwGeneralSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwGeneralPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwGeneralPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwGeneralPackage.HW_RESOURCE_SERVICE: {
+ HwResourceService hwResourceService = (HwResourceService)theEObject;
+ T result = caseHwResourceService(hwResourceService);
+ if (result == null) result = caseGrService(hwResourceService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwGeneralPackage.HW_RESOURCE: {
+ HwResource hwResource = (HwResource)theEObject;
+ T result = caseHwResource(hwResource);
+ if (result == null) result = caseResource(hwResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResourceService(HwResourceService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gr Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gr Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGrService(GrService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwGeneralSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralXMLProcessor.java
new file mode 100644
index 00000000000..8044eec8d8f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwGeneral/util/HwGeneralXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwGeneralXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwGeneralXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwGeneralPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwGeneralResourceFactoryImpl 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 HwGeneralResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwGeneralResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwGeneralXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter.java
new file mode 100644
index 00000000000..310a5efc3eb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwArbiter.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Arbiter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter#getControlledMedias <em>Controlled Medias</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwArbiter()
+ * @model
+ * @generated
+ */
+public interface HwArbiter extends HwCommunicationResource {
+ /**
+ * Returns the value of the '<em><b>Controlled Medias</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getArbiters <em>Arbiters</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Controlled Medias</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>Controlled Medias</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwArbiter_ControlledMedias()
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getArbiters
+ * @model opposite="arbiters" ordered="false"
+ * @generated
+ */
+ EList<HwMedia> getControlledMedias();
+
+} // HwArbiter
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge.java
new file mode 100644
index 00000000000..d01ea35ef3a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBridge.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Bridge</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge#getSides <em>Sides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBridge()
+ * @model
+ * @generated
+ */
+public interface HwBridge extends HwMedia {
+ /**
+ * Returns the value of the '<em><b>Sides</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sides</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>Sides</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBridge_Sides()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwMedia> getSides();
+
+} // HwBridge
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus.java
new file mode 100644
index 00000000000..97b051a7bf4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwBus.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Bus</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getAdressWidth <em>Adress Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getWordWidth <em>Word Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSynchronous <em>Is Synchronous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSerial <em>Is Serial</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBus()
+ * @model
+ * @generated
+ */
+public interface HwBus extends HwMedia {
+ /**
+ * Returns the value of the '<em><b>Adress Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Adress Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Adress Width</em>' attribute.
+ * @see #setAdressWidth(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBus_AdressWidth()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getAdressWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getAdressWidth <em>Adress Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Adress Width</em>' attribute.
+ * @see #getAdressWidth()
+ * @generated
+ */
+ void setAdressWidth(String value);
+
+ /**
+ * Returns the value of the '<em><b>Word Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Word Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Word Width</em>' attribute.
+ * @see #setWordWidth(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBus_WordWidth()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getWordWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getWordWidth <em>Word Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Word Width</em>' attribute.
+ * @see #getWordWidth()
+ * @generated
+ */
+ void setWordWidth(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Synchronous</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Synchronous</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 Synchronous</em>' attribute.
+ * @see #setIsSynchronous(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBus_IsSynchronous()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getIsSynchronous();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSynchronous <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Synchronous</em>' attribute.
+ * @see #getIsSynchronous()
+ * @generated
+ */
+ void setIsSynchronous(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Serial</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Serial</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 Serial</em>' attribute.
+ * @see #setIsSerial(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwBus_IsSerial()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getIsSerial();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSerial <em>Is Serial</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Serial</em>' attribute.
+ * @see #getIsSerial()
+ * @generated
+ */
+ void setIsSerial(String value);
+
+} // HwBus
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationFactory.java
new file mode 100644
index 00000000000..9556afefa11
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationFactory.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage
+ * @generated
+ */
+public interface HwCommunicationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwCommunicationFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ HwCommunicationResource createHwCommunicationResource();
+
+ /**
+ * Returns a new object of class '<em>Hw Arbiter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Arbiter</em>'.
+ * @generated
+ */
+ HwArbiter createHwArbiter();
+
+ /**
+ * Returns a new object of class '<em>Hw Media</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Media</em>'.
+ * @generated
+ */
+ HwMedia createHwMedia();
+
+ /**
+ * Returns a new object of class '<em>Hw Bus</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Bus</em>'.
+ * @generated
+ */
+ HwBus createHwBus();
+
+ /**
+ * Returns a new object of class '<em>Hw Bridge</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Bridge</em>'.
+ * @generated
+ */
+ HwBridge createHwBridge();
+
+ /**
+ * Returns a new object of class '<em>Hw End Point</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw End Point</em>'.
+ * @generated
+ */
+ HwEndPoint createHwEndPoint();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwCommunicationPackage getHwCommunicationPackage();
+
+} //HwCommunicationFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationPackage.java
new file mode 100644
index 00000000000..24a3cb06df0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationPackage.java
@@ -0,0 +1,1601 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwCommunicationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwCommunication";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwCommunication/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwCommunication";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwCommunicationPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwCommunicationResource()
+ * @generated
+ */
+ int HW_COMMUNICATION_RESOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMMUNICATION_RESOURCE_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwArbiterImpl <em>Hw Arbiter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwArbiterImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwArbiter()
+ * @generated
+ */
+ int HW_ARBITER = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__RES_MULT = HW_COMMUNICATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__IS_PROTECTED = HW_COMMUNICATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__IS_ACTIVE = HW_COMMUNICATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__BASE_PROPERTY = HW_COMMUNICATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__BASE_INSTANCE_SPECIFICATION = HW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__BASE_CLASSIFIER = HW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__BASE_LIFELINE = HW_COMMUNICATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__BASE_CONNECTABLE_ELEMENT = HW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__DESCRIPTION = HW_COMMUNICATION_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__PHW_SERVICES = HW_COMMUNICATION_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__RHW_SERVICES = HW_COMMUNICATION_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__OWNED_HW = HW_COMMUNICATION_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__END_POINTS = HW_COMMUNICATION_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__FREQUENCY = HW_COMMUNICATION_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Controlled Medias</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER__CONTROLLED_MEDIAS = HW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hw Arbiter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ARBITER_FEATURE_COUNT = HW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl <em>Hw Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwMedia()
+ * @generated
+ */
+ int HW_MEDIA = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__RES_MULT = GRMPackage.COMMUNICATION_MEDIA__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__IS_PROTECTED = GRMPackage.COMMUNICATION_MEDIA__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__IS_ACTIVE = GRMPackage.COMMUNICATION_MEDIA__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_PROPERTY = GRMPackage.COMMUNICATION_MEDIA__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_INSTANCE_SPECIFICATION = GRMPackage.COMMUNICATION_MEDIA__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_CLASSIFIER = GRMPackage.COMMUNICATION_MEDIA__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_LIFELINE = GRMPackage.COMMUNICATION_MEDIA__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_CONNECTABLE_ELEMENT = GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__SPEED_FACTOR = GRMPackage.COMMUNICATION_MEDIA__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__MAIN_SCHEDULER = GRMPackage.COMMUNICATION_MEDIA__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__ELEMENT_SIZE = GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BASE_CONNECTOR = GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__TRANSM_MODE = GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BLOCK_T = GRMPackage.COMMUNICATION_MEDIA__BLOCK_T;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__PACKET_T = GRMPackage.COMMUNICATION_MEDIA__PACKET_T;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__CAPACITY = GRMPackage.COMMUNICATION_MEDIA__CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__DESCRIPTION = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__PHW_SERVICES = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__RHW_SERVICES = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__OWNED_HW = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__END_POINTS = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__FREQUENCY = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Band Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__BAND_WIDTH = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Arbiters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA__ARBITERS = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Hw Media</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEDIA_FEATURE_COUNT = GRMPackage.COMMUNICATION_MEDIA_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl <em>Hw Bus</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwBus()
+ * @generated
+ */
+ int HW_BUS = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__RES_MULT = HW_MEDIA__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__IS_PROTECTED = HW_MEDIA__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__IS_ACTIVE = HW_MEDIA__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_PROPERTY = HW_MEDIA__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_INSTANCE_SPECIFICATION = HW_MEDIA__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_CLASSIFIER = HW_MEDIA__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_LIFELINE = HW_MEDIA__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_CONNECTABLE_ELEMENT = HW_MEDIA__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__SPEED_FACTOR = HW_MEDIA__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__MAIN_SCHEDULER = HW_MEDIA__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__ELEMENT_SIZE = HW_MEDIA__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BASE_CONNECTOR = HW_MEDIA__BASE_CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__TRANSM_MODE = HW_MEDIA__TRANSM_MODE;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BLOCK_T = HW_MEDIA__BLOCK_T;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__PACKET_T = HW_MEDIA__PACKET_T;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__CAPACITY = HW_MEDIA__CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__DESCRIPTION = HW_MEDIA__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__PHW_SERVICES = HW_MEDIA__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__RHW_SERVICES = HW_MEDIA__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__OWNED_HW = HW_MEDIA__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__END_POINTS = HW_MEDIA__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__FREQUENCY = HW_MEDIA__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Band Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__BAND_WIDTH = HW_MEDIA__BAND_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Arbiters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__ARBITERS = HW_MEDIA__ARBITERS;
+
+ /**
+ * The feature id for the '<em><b>Adress Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__ADRESS_WIDTH = HW_MEDIA_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Word Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__WORD_WIDTH = HW_MEDIA_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Synchronous</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__IS_SYNCHRONOUS = HW_MEDIA_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Serial</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS__IS_SERIAL = HW_MEDIA_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Hw Bus</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BUS_FEATURE_COUNT = HW_MEDIA_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBridgeImpl <em>Hw Bridge</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBridgeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwBridge()
+ * @generated
+ */
+ int HW_BRIDGE = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__RES_MULT = HW_MEDIA__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__IS_PROTECTED = HW_MEDIA__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__IS_ACTIVE = HW_MEDIA__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_PROPERTY = HW_MEDIA__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_INSTANCE_SPECIFICATION = HW_MEDIA__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_CLASSIFIER = HW_MEDIA__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_LIFELINE = HW_MEDIA__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_CONNECTABLE_ELEMENT = HW_MEDIA__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__SPEED_FACTOR = HW_MEDIA__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__MAIN_SCHEDULER = HW_MEDIA__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__ELEMENT_SIZE = HW_MEDIA__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BASE_CONNECTOR = HW_MEDIA__BASE_CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__TRANSM_MODE = HW_MEDIA__TRANSM_MODE;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BLOCK_T = HW_MEDIA__BLOCK_T;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__PACKET_T = HW_MEDIA__PACKET_T;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__CAPACITY = HW_MEDIA__CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__DESCRIPTION = HW_MEDIA__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__PHW_SERVICES = HW_MEDIA__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__RHW_SERVICES = HW_MEDIA__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__OWNED_HW = HW_MEDIA__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__END_POINTS = HW_MEDIA__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__FREQUENCY = HW_MEDIA__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Band Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__BAND_WIDTH = HW_MEDIA__BAND_WIDTH;
+
+ /**
+ * The feature id for the '<em><b>Arbiters</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__ARBITERS = HW_MEDIA__ARBITERS;
+
+ /**
+ * The feature id for the '<em><b>Sides</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE__SIDES = HW_MEDIA_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hw Bridge</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRIDGE_FEATURE_COUNT = HW_MEDIA_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl <em>Hw End Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwEndPoint()
+ * @generated
+ */
+ int HW_END_POINT = 5;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__RES_MULT = HW_COMMUNICATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__IS_PROTECTED = HW_COMMUNICATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__IS_ACTIVE = HW_COMMUNICATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__BASE_PROPERTY = HW_COMMUNICATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__BASE_INSTANCE_SPECIFICATION = HW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__BASE_CLASSIFIER = HW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__BASE_LIFELINE = HW_COMMUNICATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__BASE_CONNECTABLE_ELEMENT = HW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__DESCRIPTION = HW_COMMUNICATION_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__PHW_SERVICES = HW_COMMUNICATION_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__RHW_SERVICES = HW_COMMUNICATION_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__OWNED_HW = HW_COMMUNICATION_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__END_POINTS = HW_COMMUNICATION_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__FREQUENCY = HW_COMMUNICATION_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Packet Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__PACKET_SIZE = HW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Connected To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT__CONNECTED_TO = HW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw End Point</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_END_POINT_FEATURE_COUNT = HW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource
+ * @generated
+ */
+ EClass getHwCommunicationResource();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter <em>Hw Arbiter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Arbiter</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter
+ * @generated
+ */
+ EClass getHwArbiter();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter#getControlledMedias <em>Controlled Medias</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Controlled Medias</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter#getControlledMedias()
+ * @see #getHwArbiter()
+ * @generated
+ */
+ EReference getHwArbiter_ControlledMedias();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia <em>Hw Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Media</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia
+ * @generated
+ */
+ EClass getHwMedia();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getBandWidth <em>Band Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Band Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getBandWidth()
+ * @see #getHwMedia()
+ * @generated
+ */
+ EAttribute getHwMedia_BandWidth();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getArbiters <em>Arbiters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Arbiters</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getArbiters()
+ * @see #getHwMedia()
+ * @generated
+ */
+ EReference getHwMedia_Arbiters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus <em>Hw Bus</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Bus</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus
+ * @generated
+ */
+ EClass getHwBus();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getAdressWidth <em>Adress Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Adress Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getAdressWidth()
+ * @see #getHwBus()
+ * @generated
+ */
+ EAttribute getHwBus_AdressWidth();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getWordWidth <em>Word Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Word Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getWordWidth()
+ * @see #getHwBus()
+ * @generated
+ */
+ EAttribute getHwBus_WordWidth();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSynchronous <em>Is Synchronous</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Synchronous</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSynchronous()
+ * @see #getHwBus()
+ * @generated
+ */
+ EAttribute getHwBus_IsSynchronous();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSerial <em>Is Serial</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Serial</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus#getIsSerial()
+ * @see #getHwBus()
+ * @generated
+ */
+ EAttribute getHwBus_IsSerial();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge <em>Hw Bridge</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Bridge</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge
+ * @generated
+ */
+ EClass getHwBridge();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge#getSides <em>Sides</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Sides</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge#getSides()
+ * @see #getHwBridge()
+ * @generated
+ */
+ EReference getHwBridge_Sides();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint <em>Hw End Point</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw End Point</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint
+ * @generated
+ */
+ EClass getHwEndPoint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint#getConnectedTo <em>Connected To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Connected To</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint#getConnectedTo()
+ * @see #getHwEndPoint()
+ * @generated
+ */
+ EReference getHwEndPoint_ConnectedTo();
+
+ /**
+ * 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
+ */
+ HwCommunicationFactory getHwCommunicationFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwCommunicationResource()
+ * @generated
+ */
+ EClass HW_COMMUNICATION_RESOURCE = eINSTANCE.getHwCommunicationResource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwArbiterImpl <em>Hw Arbiter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwArbiterImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwArbiter()
+ * @generated
+ */
+ EClass HW_ARBITER = eINSTANCE.getHwArbiter();
+
+ /**
+ * The meta object literal for the '<em><b>Controlled Medias</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_ARBITER__CONTROLLED_MEDIAS = eINSTANCE.getHwArbiter_ControlledMedias();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl <em>Hw Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwMedia()
+ * @generated
+ */
+ EClass HW_MEDIA = eINSTANCE.getHwMedia();
+
+ /**
+ * The meta object literal for the '<em><b>Band Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MEDIA__BAND_WIDTH = eINSTANCE.getHwMedia_BandWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Arbiters</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_MEDIA__ARBITERS = eINSTANCE.getHwMedia_Arbiters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl <em>Hw Bus</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwBus()
+ * @generated
+ */
+ EClass HW_BUS = eINSTANCE.getHwBus();
+
+ /**
+ * The meta object literal for the '<em><b>Adress Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_BUS__ADRESS_WIDTH = eINSTANCE.getHwBus_AdressWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Word Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_BUS__WORD_WIDTH = eINSTANCE.getHwBus_WordWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Is Synchronous</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_BUS__IS_SYNCHRONOUS = eINSTANCE.getHwBus_IsSynchronous();
+
+ /**
+ * The meta object literal for the '<em><b>Is Serial</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_BUS__IS_SERIAL = eINSTANCE.getHwBus_IsSerial();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBridgeImpl <em>Hw Bridge</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBridgeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwBridge()
+ * @generated
+ */
+ EClass HW_BRIDGE = eINSTANCE.getHwBridge();
+
+ /**
+ * The meta object literal for the '<em><b>Sides</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_BRIDGE__SIDES = eINSTANCE.getHwBridge_Sides();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl <em>Hw End Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl#getHwEndPoint()
+ * @generated
+ */
+ EClass HW_END_POINT = eINSTANCE.getHwEndPoint();
+
+ /**
+ * The meta object literal for the '<em><b>Connected To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_END_POINT__CONNECTED_TO = eINSTANCE.getHwEndPoint_ConnectedTo();
+
+ }
+
+} //HwCommunicationPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource.java
new file mode 100644
index 00000000000..29f5b58162b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwCommunicationResource.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwCommunicationResource()
+ * @model
+ * @generated
+ */
+public interface HwCommunicationResource extends HwResource {
+} // HwCommunicationResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint.java
new file mode 100644
index 00000000000..1ae6e3afd9d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwEndPoint.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw End Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint#getConnectedTo <em>Connected To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwEndPoint()
+ * @model
+ * @generated
+ */
+public interface HwEndPoint extends HwCommunicationResource, CommunicationEndPoint {
+ /**
+ * Returns the value of the '<em><b>Connected To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Connected To</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Connected To</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwEndPoint_ConnectedTo()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwMedia> getConnectedTo();
+
+} // HwEndPoint
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia.java
new file mode 100644
index 00000000000..6e63abf4587
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/HwMedia.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Media</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getBandWidth <em>Band Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getArbiters <em>Arbiters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwMedia()
+ * @model
+ * @generated
+ */
+public interface HwMedia extends CommunicationMedia, HwCommunicationResource {
+ /**
+ * Returns the value of the '<em><b>Band Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Band Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Band Width</em>' attribute.
+ * @see #setBandWidth(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwMedia_BandWidth()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataTxRate" ordered="false"
+ * @generated
+ */
+ String getBandWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia#getBandWidth <em>Band Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Band Width</em>' attribute.
+ * @see #getBandWidth()
+ * @generated
+ */
+ void setBandWidth(String value);
+
+ /**
+ * Returns the value of the '<em><b>Arbiters</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter#getControlledMedias <em>Controlled Medias</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arbiters</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>Arbiters</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#getHwMedia_Arbiters()
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter#getControlledMedias
+ * @model opposite="controlledMedias" ordered="false"
+ * @generated
+ */
+ EList<HwArbiter> getArbiters();
+
+} // HwMedia
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwArbiterImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwArbiterImpl.java
new file mode 100644
index 00000000000..c3c0b93679a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwArbiterImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Arbiter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwArbiterImpl#getControlledMedias <em>Controlled Medias</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwArbiterImpl extends HwCommunicationResourceImpl implements HwArbiter {
+ /**
+ * The cached value of the '{@link #getControlledMedias() <em>Controlled Medias</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControlledMedias()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMedia> controlledMedias;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwArbiterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_ARBITER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMedia> getControlledMedias() {
+ if (controlledMedias == null) {
+ controlledMedias = new EObjectWithInverseResolvingEList.ManyInverse<HwMedia>(HwMedia.class, this, HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS, HwCommunicationPackage.HW_MEDIA__ARBITERS);
+ }
+ return controlledMedias;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getControlledMedias()).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 HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ return ((InternalEList<?>)getControlledMedias()).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 HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ return getControlledMedias();
+ }
+ 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 HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ getControlledMedias().clear();
+ getControlledMedias().addAll((Collection<? extends HwMedia>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ getControlledMedias().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS:
+ return controlledMedias != null && !controlledMedias.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //HwArbiterImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBridgeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBridgeImpl.java
new file mode 100644
index 00000000000..4b95a52d1e7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBridgeImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Bridge</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBridgeImpl#getSides <em>Sides</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwBridgeImpl extends HwMediaImpl implements HwBridge {
+ /**
+ * The cached value of the '{@link #getSides() <em>Sides</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSides()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMedia> sides;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwBridgeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_BRIDGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMedia> getSides() {
+ if (sides == null) {
+ sides = new EObjectResolvingEList<HwMedia>(HwMedia.class, this, HwCommunicationPackage.HW_BRIDGE__SIDES);
+ }
+ return sides;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BRIDGE__SIDES:
+ return getSides();
+ }
+ 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 HwCommunicationPackage.HW_BRIDGE__SIDES:
+ getSides().clear();
+ getSides().addAll((Collection<? extends HwMedia>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BRIDGE__SIDES:
+ getSides().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BRIDGE__SIDES:
+ return sides != null && !sides.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //HwBridgeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBusImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBusImpl.java
new file mode 100644
index 00000000000..de7c22c2f69
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwBusImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Bus</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl#getAdressWidth <em>Adress Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl#getWordWidth <em>Word Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl#getIsSynchronous <em>Is Synchronous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwBusImpl#getIsSerial <em>Is Serial</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwBusImpl extends HwMediaImpl implements HwBus {
+ /**
+ * The default value of the '{@link #getAdressWidth() <em>Adress Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdressWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADRESS_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdressWidth() <em>Adress Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdressWidth()
+ * @generated
+ * @ordered
+ */
+ protected String adressWidth = ADRESS_WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWordWidth() <em>Word Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWordWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final String WORD_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getWordWidth() <em>Word Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWordWidth()
+ * @generated
+ * @ordered
+ */
+ protected String wordWidth = WORD_WIDTH_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsSynchronous() <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSynchronous()
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_SYNCHRONOUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIsSynchronous() <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSynchronous()
+ * @generated
+ * @ordered
+ */
+ protected String isSynchronous = IS_SYNCHRONOUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsSerial() <em>Is Serial</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSerial()
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_SERIAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIsSerial() <em>Is Serial</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSerial()
+ * @generated
+ * @ordered
+ */
+ protected String isSerial = IS_SERIAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwBusImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_BUS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAdressWidth() {
+ return adressWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdressWidth(String newAdressWidth) {
+ String oldAdressWidth = adressWidth;
+ adressWidth = newAdressWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_BUS__ADRESS_WIDTH, oldAdressWidth, adressWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getWordWidth() {
+ return wordWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWordWidth(String newWordWidth) {
+ String oldWordWidth = wordWidth;
+ wordWidth = newWordWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_BUS__WORD_WIDTH, oldWordWidth, wordWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIsSynchronous() {
+ return isSynchronous;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSynchronous(String newIsSynchronous) {
+ String oldIsSynchronous = isSynchronous;
+ isSynchronous = newIsSynchronous;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS, oldIsSynchronous, isSynchronous));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIsSerial() {
+ return isSerial;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSerial(String newIsSerial) {
+ String oldIsSerial = isSerial;
+ isSerial = newIsSerial;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_BUS__IS_SERIAL, oldIsSerial, isSerial));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BUS__ADRESS_WIDTH:
+ return getAdressWidth();
+ case HwCommunicationPackage.HW_BUS__WORD_WIDTH:
+ return getWordWidth();
+ case HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS:
+ return getIsSynchronous();
+ case HwCommunicationPackage.HW_BUS__IS_SERIAL:
+ return getIsSerial();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BUS__ADRESS_WIDTH:
+ setAdressWidth((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_BUS__WORD_WIDTH:
+ setWordWidth((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS:
+ setIsSynchronous((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_BUS__IS_SERIAL:
+ setIsSerial((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BUS__ADRESS_WIDTH:
+ setAdressWidth(ADRESS_WIDTH_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_BUS__WORD_WIDTH:
+ setWordWidth(WORD_WIDTH_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS:
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_BUS__IS_SERIAL:
+ setIsSerial(IS_SERIAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_BUS__ADRESS_WIDTH:
+ return ADRESS_WIDTH_EDEFAULT == null ? adressWidth != null : !ADRESS_WIDTH_EDEFAULT.equals(adressWidth);
+ case HwCommunicationPackage.HW_BUS__WORD_WIDTH:
+ return WORD_WIDTH_EDEFAULT == null ? wordWidth != null : !WORD_WIDTH_EDEFAULT.equals(wordWidth);
+ case HwCommunicationPackage.HW_BUS__IS_SYNCHRONOUS:
+ return IS_SYNCHRONOUS_EDEFAULT == null ? isSynchronous != null : !IS_SYNCHRONOUS_EDEFAULT.equals(isSynchronous);
+ case HwCommunicationPackage.HW_BUS__IS_SERIAL:
+ return IS_SERIAL_EDEFAULT == null ? isSerial != null : !IS_SERIAL_EDEFAULT.equals(isSerial);
+ }
+ 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(" (adressWidth: ");
+ result.append(adressWidth);
+ result.append(", wordWidth: ");
+ result.append(wordWidth);
+ result.append(", isSynchronous: ");
+ result.append(isSynchronous);
+ result.append(", isSerial: ");
+ result.append(isSerial);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwBusImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationFactoryImpl.java
new file mode 100644
index 00000000000..dcc804f6d8f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwCommunicationFactoryImpl extends EFactoryImpl implements HwCommunicationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwCommunicationFactory init() {
+ try {
+ HwCommunicationFactory theHwCommunicationFactory = (HwCommunicationFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwCommunication/1");
+ if (theHwCommunicationFactory != null) {
+ return theHwCommunicationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwCommunicationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwCommunicationPackage.HW_COMMUNICATION_RESOURCE: return createHwCommunicationResource();
+ case HwCommunicationPackage.HW_ARBITER: return createHwArbiter();
+ case HwCommunicationPackage.HW_MEDIA: return createHwMedia();
+ case HwCommunicationPackage.HW_BUS: return createHwBus();
+ case HwCommunicationPackage.HW_BRIDGE: return createHwBridge();
+ case HwCommunicationPackage.HW_END_POINT: return createHwEndPoint();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationResource createHwCommunicationResource() {
+ HwCommunicationResourceImpl hwCommunicationResource = new HwCommunicationResourceImpl();
+ return hwCommunicationResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwArbiter createHwArbiter() {
+ HwArbiterImpl hwArbiter = new HwArbiterImpl();
+ return hwArbiter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMedia createHwMedia() {
+ HwMediaImpl hwMedia = new HwMediaImpl();
+ return hwMedia;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwBus createHwBus() {
+ HwBusImpl hwBus = new HwBusImpl();
+ return hwBus;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwBridge createHwBridge() {
+ HwBridgeImpl hwBridge = new HwBridgeImpl();
+ return hwBridge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwEndPoint createHwEndPoint() {
+ HwEndPointImpl hwEndPoint = new HwEndPointImpl();
+ return hwEndPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationPackage getHwCommunicationPackage() {
+ return (HwCommunicationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwCommunicationPackage getPackage() {
+ return HwCommunicationPackage.eINSTANCE;
+ }
+
+} //HwCommunicationFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationPackageImpl.java
new file mode 100644
index 00000000000..307de031b50
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationPackageImpl.java
@@ -0,0 +1,642 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwCommunicationPackageImpl extends EPackageImpl implements HwCommunicationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwCommunicationResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwArbiterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwMediaEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwBusEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwBridgeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwEndPointEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwCommunicationPackageImpl() {
+ super(eNS_URI, HwCommunicationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwCommunicationPackage#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 HwCommunicationPackage init() {
+ if (isInited) return (HwCommunicationPackage)EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwCommunicationPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwCommunicationPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwCommunicationPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwCommunicationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwCommunicationPackage.eNS_URI, theHwCommunicationPackage);
+ return theHwCommunicationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwCommunicationResource() {
+ return hwCommunicationResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwArbiter() {
+ return hwArbiterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwArbiter_ControlledMedias() {
+ return (EReference)hwArbiterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwMedia() {
+ return hwMediaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMedia_BandWidth() {
+ return (EAttribute)hwMediaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwMedia_Arbiters() {
+ return (EReference)hwMediaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwBus() {
+ return hwBusEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwBus_AdressWidth() {
+ return (EAttribute)hwBusEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwBus_WordWidth() {
+ return (EAttribute)hwBusEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwBus_IsSynchronous() {
+ return (EAttribute)hwBusEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwBus_IsSerial() {
+ return (EAttribute)hwBusEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwBridge() {
+ return hwBridgeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwBridge_Sides() {
+ return (EReference)hwBridgeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwEndPoint() {
+ return hwEndPointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwEndPoint_ConnectedTo() {
+ return (EReference)hwEndPointEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationFactory getHwCommunicationFactory() {
+ return (HwCommunicationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwCommunicationResourceEClass = createEClass(HW_COMMUNICATION_RESOURCE);
+
+ hwArbiterEClass = createEClass(HW_ARBITER);
+ createEReference(hwArbiterEClass, HW_ARBITER__CONTROLLED_MEDIAS);
+
+ hwMediaEClass = createEClass(HW_MEDIA);
+ createEAttribute(hwMediaEClass, HW_MEDIA__BAND_WIDTH);
+ createEReference(hwMediaEClass, HW_MEDIA__ARBITERS);
+
+ hwBusEClass = createEClass(HW_BUS);
+ createEAttribute(hwBusEClass, HW_BUS__ADRESS_WIDTH);
+ createEAttribute(hwBusEClass, HW_BUS__WORD_WIDTH);
+ createEAttribute(hwBusEClass, HW_BUS__IS_SYNCHRONOUS);
+ createEAttribute(hwBusEClass, HW_BUS__IS_SERIAL);
+
+ hwBridgeEClass = createEClass(HW_BRIDGE);
+ createEReference(hwBridgeEClass, HW_BRIDGE__SIDES);
+
+ hwEndPointEClass = createEClass(HW_END_POINT);
+ createEReference(hwEndPointEClass, HW_END_POINT__CONNECTED_TO);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwCommunicationResourceEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwArbiterEClass.getESuperTypes().add(this.getHwCommunicationResource());
+ hwMediaEClass.getESuperTypes().add(theGRMPackage.getCommunicationMedia());
+ hwMediaEClass.getESuperTypes().add(this.getHwCommunicationResource());
+ hwBusEClass.getESuperTypes().add(this.getHwMedia());
+ hwBridgeEClass.getESuperTypes().add(this.getHwMedia());
+ hwEndPointEClass.getESuperTypes().add(this.getHwCommunicationResource());
+ hwEndPointEClass.getESuperTypes().add(theGRMPackage.getCommunicationEndPoint());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwCommunicationResourceEClass, HwCommunicationResource.class, "HwCommunicationResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwArbiterEClass, HwArbiter.class, "HwArbiter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHwArbiter_ControlledMedias(), this.getHwMedia(), this.getHwMedia_Arbiters(), "controlledMedias", null, 0, -1, HwArbiter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwMediaEClass, HwMedia.class, "HwMedia", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwMedia_BandWidth(), theBasicNFP_TypesPackage.getNFP_DataTxRate(), "bandWidth", null, 0, 1, HwMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwMedia_Arbiters(), this.getHwArbiter(), this.getHwArbiter_ControlledMedias(), "arbiters", null, 0, -1, HwMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwBusEClass, HwBus.class, "HwBus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwBus_AdressWidth(), theBasicNFP_TypesPackage.getNFP_DataSize(), "adressWidth", null, 0, 1, HwBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwBus_WordWidth(), theBasicNFP_TypesPackage.getNFP_DataSize(), "wordWidth", null, 0, 1, HwBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwBus_IsSynchronous(), theBasicNFP_TypesPackage.getNFP_Boolean(), "isSynchronous", null, 0, 1, HwBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwBus_IsSerial(), theBasicNFP_TypesPackage.getNFP_Boolean(), "isSerial", null, 0, 1, HwBus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwBridgeEClass, HwBridge.class, "HwBridge", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHwBridge_Sides(), this.getHwMedia(), null, "sides", null, 0, -1, HwBridge.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwEndPointEClass, HwEndPoint.class, "HwEndPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHwEndPoint_ConnectedTo(), this.getHwMedia(), null, "connectedTo", null, 0, -1, HwEndPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //HwCommunicationPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationResourceImpl.java
new file mode 100644
index 00000000000..b20f1ef9eb9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwCommunicationResourceImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwCommunicationResourceImpl extends HwResourceImpl implements HwCommunicationResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwCommunicationResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_COMMUNICATION_RESOURCE;
+ }
+
+} //HwCommunicationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwEndPointImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwEndPointImpl.java
new file mode 100644
index 00000000000..83508faaab3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwEndPointImpl.java
@@ -0,0 +1,250 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw End Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl#getPacketSize <em>Packet Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwEndPointImpl#getConnectedTo <em>Connected To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwEndPointImpl extends HwCommunicationResourceImpl implements HwEndPoint {
+ /**
+ * The default value of the '{@link #getPacketSize() <em>Packet Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPacketSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKET_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPacketSize() <em>Packet Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPacketSize()
+ * @generated
+ * @ordered
+ */
+ protected String packetSize = PACKET_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getConnectedTo() <em>Connected To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConnectedTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMedia> connectedTo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwEndPointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_END_POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPacketSize() {
+ return packetSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPacketSize(String newPacketSize) {
+ String oldPacketSize = packetSize;
+ packetSize = newPacketSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_END_POINT__PACKET_SIZE, oldPacketSize, packetSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMedia> getConnectedTo() {
+ if (connectedTo == null) {
+ connectedTo = new EObjectResolvingEList<HwMedia>(HwMedia.class, this, HwCommunicationPackage.HW_END_POINT__CONNECTED_TO);
+ }
+ return connectedTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_END_POINT__PACKET_SIZE:
+ return getPacketSize();
+ case HwCommunicationPackage.HW_END_POINT__CONNECTED_TO:
+ return getConnectedTo();
+ }
+ 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 HwCommunicationPackage.HW_END_POINT__PACKET_SIZE:
+ setPacketSize((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_END_POINT__CONNECTED_TO:
+ getConnectedTo().clear();
+ getConnectedTo().addAll((Collection<? extends HwMedia>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_END_POINT__PACKET_SIZE:
+ setPacketSize(PACKET_SIZE_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_END_POINT__CONNECTED_TO:
+ getConnectedTo().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_END_POINT__PACKET_SIZE:
+ return PACKET_SIZE_EDEFAULT == null ? packetSize != null : !PACKET_SIZE_EDEFAULT.equals(packetSize);
+ case HwCommunicationPackage.HW_END_POINT__CONNECTED_TO:
+ return connectedTo != null && !connectedTo.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == CommunicationEndPoint.class) {
+ switch (derivedFeatureID) {
+ case HwCommunicationPackage.HW_END_POINT__PACKET_SIZE: return GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE;
+ 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 == CommunicationEndPoint.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE: return HwCommunicationPackage.HW_END_POINT__PACKET_SIZE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (packetSize: ");
+ result.append(packetSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwEndPointImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwMediaImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwMediaImpl.java
new file mode 100644
index 00000000000..d263097a192
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/impl/HwMediaImpl.java
@@ -0,0 +1,557 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Media</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getP_HW_Services <em>PHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getR_HW_Services <em>RHW Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getOwnedHW <em>Owned HW</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getEndPoints <em>End Points</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getFrequency <em>Frequency</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getBandWidth <em>Band Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwMediaImpl#getArbiters <em>Arbiters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwMediaImpl extends CommunicationMediaImpl implements HwMedia {
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getP_HW_Services() <em>PHW Services</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getP_HW_Services()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResourceService> p_HW_Services;
+
+ /**
+ * The cached value of the '{@link #getR_HW_Services() <em>RHW Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getR_HW_Services()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResourceService> r_HW_Services;
+
+ /**
+ * The cached value of the '{@link #getOwnedHW() <em>Owned HW</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedHW()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResource> ownedHW;
+
+ /**
+ * The cached value of the '{@link #getEndPoints() <em>End Points</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEndPoints()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwEndPoint> endPoints;
+
+ /**
+ * The default value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrequency()
+ * @generated
+ * @ordered
+ */
+ protected static final String FREQUENCY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrequency()
+ * @generated
+ * @ordered
+ */
+ protected String frequency = FREQUENCY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBandWidth() <em>Band Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBandWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final String BAND_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBandWidth() <em>Band Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBandWidth()
+ * @generated
+ * @ordered
+ */
+ protected String bandWidth = BAND_WIDTH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getArbiters() <em>Arbiters</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArbiters()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwArbiter> arbiters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwMediaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwCommunicationPackage.Literals.HW_MEDIA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_MEDIA__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResourceService> getP_HW_Services() {
+ if (p_HW_Services == null) {
+ p_HW_Services = new EObjectContainmentEList<HwResourceService>(HwResourceService.class, this, HwCommunicationPackage.HW_MEDIA__PHW_SERVICES);
+ }
+ return p_HW_Services;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResourceService> getR_HW_Services() {
+ if (r_HW_Services == null) {
+ r_HW_Services = new EObjectResolvingEList<HwResourceService>(HwResourceService.class, this, HwCommunicationPackage.HW_MEDIA__RHW_SERVICES);
+ }
+ return r_HW_Services;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResource> getOwnedHW() {
+ if (ownedHW == null) {
+ ownedHW = new EObjectContainmentEList<HwResource>(HwResource.class, this, HwCommunicationPackage.HW_MEDIA__OWNED_HW);
+ }
+ return ownedHW;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwEndPoint> getEndPoints() {
+ if (endPoints == null) {
+ endPoints = new EObjectResolvingEList<HwEndPoint>(HwEndPoint.class, this, HwCommunicationPackage.HW_MEDIA__END_POINTS);
+ }
+ return endPoints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFrequency() {
+ return frequency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrequency(String newFrequency) {
+ String oldFrequency = frequency;
+ frequency = newFrequency;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_MEDIA__FREQUENCY, oldFrequency, frequency));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBandWidth() {
+ return bandWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBandWidth(String newBandWidth) {
+ String oldBandWidth = bandWidth;
+ bandWidth = newBandWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwCommunicationPackage.HW_MEDIA__BAND_WIDTH, oldBandWidth, bandWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwArbiter> getArbiters() {
+ if (arbiters == null) {
+ arbiters = new EObjectWithInverseResolvingEList.ManyInverse<HwArbiter>(HwArbiter.class, this, HwCommunicationPackage.HW_MEDIA__ARBITERS, HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS);
+ }
+ return arbiters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getArbiters()).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 HwCommunicationPackage.HW_MEDIA__PHW_SERVICES:
+ return ((InternalEList<?>)getP_HW_Services()).basicRemove(otherEnd, msgs);
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW:
+ return ((InternalEList<?>)getOwnedHW()).basicRemove(otherEnd, msgs);
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ return ((InternalEList<?>)getArbiters()).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 HwCommunicationPackage.HW_MEDIA__DESCRIPTION:
+ return getDescription();
+ case HwCommunicationPackage.HW_MEDIA__PHW_SERVICES:
+ return getP_HW_Services();
+ case HwCommunicationPackage.HW_MEDIA__RHW_SERVICES:
+ return getR_HW_Services();
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW:
+ return getOwnedHW();
+ case HwCommunicationPackage.HW_MEDIA__END_POINTS:
+ return getEndPoints();
+ case HwCommunicationPackage.HW_MEDIA__FREQUENCY:
+ return getFrequency();
+ case HwCommunicationPackage.HW_MEDIA__BAND_WIDTH:
+ return getBandWidth();
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ return getArbiters();
+ }
+ 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 HwCommunicationPackage.HW_MEDIA__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__PHW_SERVICES:
+ getP_HW_Services().clear();
+ getP_HW_Services().addAll((Collection<? extends HwResourceService>)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__RHW_SERVICES:
+ getR_HW_Services().clear();
+ getR_HW_Services().addAll((Collection<? extends HwResourceService>)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW:
+ getOwnedHW().clear();
+ getOwnedHW().addAll((Collection<? extends HwResource>)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__END_POINTS:
+ getEndPoints().clear();
+ getEndPoints().addAll((Collection<? extends HwEndPoint>)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__FREQUENCY:
+ setFrequency((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__BAND_WIDTH:
+ setBandWidth((String)newValue);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ getArbiters().clear();
+ getArbiters().addAll((Collection<? extends HwArbiter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_MEDIA__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__PHW_SERVICES:
+ getP_HW_Services().clear();
+ return;
+ case HwCommunicationPackage.HW_MEDIA__RHW_SERVICES:
+ getR_HW_Services().clear();
+ return;
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW:
+ getOwnedHW().clear();
+ return;
+ case HwCommunicationPackage.HW_MEDIA__END_POINTS:
+ getEndPoints().clear();
+ return;
+ case HwCommunicationPackage.HW_MEDIA__FREQUENCY:
+ setFrequency(FREQUENCY_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__BAND_WIDTH:
+ setBandWidth(BAND_WIDTH_EDEFAULT);
+ return;
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ getArbiters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwCommunicationPackage.HW_MEDIA__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case HwCommunicationPackage.HW_MEDIA__PHW_SERVICES:
+ return p_HW_Services != null && !p_HW_Services.isEmpty();
+ case HwCommunicationPackage.HW_MEDIA__RHW_SERVICES:
+ return r_HW_Services != null && !r_HW_Services.isEmpty();
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW:
+ return ownedHW != null && !ownedHW.isEmpty();
+ case HwCommunicationPackage.HW_MEDIA__END_POINTS:
+ return endPoints != null && !endPoints.isEmpty();
+ case HwCommunicationPackage.HW_MEDIA__FREQUENCY:
+ return FREQUENCY_EDEFAULT == null ? frequency != null : !FREQUENCY_EDEFAULT.equals(frequency);
+ case HwCommunicationPackage.HW_MEDIA__BAND_WIDTH:
+ return BAND_WIDTH_EDEFAULT == null ? bandWidth != null : !BAND_WIDTH_EDEFAULT.equals(bandWidth);
+ case HwCommunicationPackage.HW_MEDIA__ARBITERS:
+ return arbiters != null && !arbiters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == HwResource.class) {
+ switch (derivedFeatureID) {
+ case HwCommunicationPackage.HW_MEDIA__DESCRIPTION: return HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+ case HwCommunicationPackage.HW_MEDIA__PHW_SERVICES: return HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+ case HwCommunicationPackage.HW_MEDIA__RHW_SERVICES: return HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+ case HwCommunicationPackage.HW_MEDIA__OWNED_HW: return HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+ case HwCommunicationPackage.HW_MEDIA__END_POINTS: return HwGeneralPackage.HW_RESOURCE__END_POINTS;
+ case HwCommunicationPackage.HW_MEDIA__FREQUENCY: return HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+ default: return -1;
+ }
+ }
+ if (baseClass == HwCommunicationResource.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 == HwResource.class) {
+ switch (baseFeatureID) {
+ case HwGeneralPackage.HW_RESOURCE__DESCRIPTION: return HwCommunicationPackage.HW_MEDIA__DESCRIPTION;
+ case HwGeneralPackage.HW_RESOURCE__PHW_SERVICES: return HwCommunicationPackage.HW_MEDIA__PHW_SERVICES;
+ case HwGeneralPackage.HW_RESOURCE__RHW_SERVICES: return HwCommunicationPackage.HW_MEDIA__RHW_SERVICES;
+ case HwGeneralPackage.HW_RESOURCE__OWNED_HW: return HwCommunicationPackage.HW_MEDIA__OWNED_HW;
+ case HwGeneralPackage.HW_RESOURCE__END_POINTS: return HwCommunicationPackage.HW_MEDIA__END_POINTS;
+ case HwGeneralPackage.HW_RESOURCE__FREQUENCY: return HwCommunicationPackage.HW_MEDIA__FREQUENCY;
+ default: return -1;
+ }
+ }
+ if (baseClass == HwCommunicationResource.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", frequency: ");
+ result.append(frequency);
+ result.append(", bandWidth: ");
+ result.append(bandWidth);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwMediaImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationAdapterFactory.java
new file mode 100644
index 00000000000..498dc844525
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage
+ * @generated
+ */
+public class HwCommunicationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwCommunicationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwCommunicationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwCommunicationSwitch<Adapter> modelSwitch =
+ new HwCommunicationSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwCommunicationResource(HwCommunicationResource object) {
+ return createHwCommunicationResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwArbiter(HwArbiter object) {
+ return createHwArbiterAdapter();
+ }
+ @Override
+ public Adapter caseHwMedia(HwMedia object) {
+ return createHwMediaAdapter();
+ }
+ @Override
+ public Adapter caseHwBus(HwBus object) {
+ return createHwBusAdapter();
+ }
+ @Override
+ public Adapter caseHwBridge(HwBridge object) {
+ return createHwBridgeAdapter();
+ }
+ @Override
+ public Adapter caseHwEndPoint(HwEndPoint object) {
+ return createHwEndPointAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseProcessingResource(ProcessingResource object) {
+ return createProcessingResourceAdapter();
+ }
+ @Override
+ public Adapter caseCommunicationMedia(CommunicationMedia object) {
+ return createCommunicationMediaAdapter();
+ }
+ @Override
+ public Adapter caseCommunicationEndPoint(CommunicationEndPoint object) {
+ return createCommunicationEndPointAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource
+ * @generated
+ */
+ public Adapter createHwCommunicationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter <em>Hw Arbiter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter
+ * @generated
+ */
+ public Adapter createHwArbiterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia <em>Hw Media</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia
+ * @generated
+ */
+ public Adapter createHwMediaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus <em>Hw Bus</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBus
+ * @generated
+ */
+ public Adapter createHwBusAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge <em>Hw Bridge</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwBridge
+ * @generated
+ */
+ public Adapter createHwBridgeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint <em>Hw End 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwEndPoint
+ * @generated
+ */
+ public Adapter createHwEndPointAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource <em>Processing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource
+ * @generated
+ */
+ public Adapter createProcessingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia <em>Communication Media</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia
+ * @generated
+ */
+ public Adapter createCommunicationMediaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint <em>Communication End 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.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint
+ * @generated
+ */
+ public Adapter createCommunicationEndPointAdapter() {
+ 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;
+ }
+
+} //HwCommunicationAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceFactoryImpl.java
new file mode 100644
index 00000000000..6e1ef87244e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.util.HwCommunicationResourceImpl
+ * @generated
+ */
+public class HwCommunicationResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwCommunicationResourceImpl(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;
+ }
+
+} //HwCommunicationResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceImpl.java
new file mode 100644
index 00000000000..10a7966b596
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.util.HwCommunicationResourceFactoryImpl
+ * @generated
+ */
+public class HwCommunicationResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwCommunicationResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwCommunicationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationSwitch.java
new file mode 100644
index 00000000000..6ef392260f2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationSwitch.java
@@ -0,0 +1,350 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage
+ * @generated
+ */
+public class HwCommunicationSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwCommunicationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwCommunicationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwCommunicationPackage.HW_COMMUNICATION_RESOURCE: {
+ HwCommunicationResource hwCommunicationResource = (HwCommunicationResource)theEObject;
+ T result = caseHwCommunicationResource(hwCommunicationResource);
+ if (result == null) result = caseHwResource(hwCommunicationResource);
+ if (result == null) result = caseResource(hwCommunicationResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwCommunicationPackage.HW_ARBITER: {
+ HwArbiter hwArbiter = (HwArbiter)theEObject;
+ T result = caseHwArbiter(hwArbiter);
+ if (result == null) result = caseHwCommunicationResource(hwArbiter);
+ if (result == null) result = caseHwResource(hwArbiter);
+ if (result == null) result = caseResource(hwArbiter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwCommunicationPackage.HW_MEDIA: {
+ HwMedia hwMedia = (HwMedia)theEObject;
+ T result = caseHwMedia(hwMedia);
+ if (result == null) result = caseCommunicationMedia(hwMedia);
+ if (result == null) result = caseHwCommunicationResource(hwMedia);
+ if (result == null) result = caseProcessingResource(hwMedia);
+ if (result == null) result = caseHwResource(hwMedia);
+ if (result == null) result = caseResource(hwMedia);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwCommunicationPackage.HW_BUS: {
+ HwBus hwBus = (HwBus)theEObject;
+ T result = caseHwBus(hwBus);
+ if (result == null) result = caseHwMedia(hwBus);
+ if (result == null) result = caseCommunicationMedia(hwBus);
+ if (result == null) result = caseHwCommunicationResource(hwBus);
+ if (result == null) result = caseProcessingResource(hwBus);
+ if (result == null) result = caseHwResource(hwBus);
+ if (result == null) result = caseResource(hwBus);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwCommunicationPackage.HW_BRIDGE: {
+ HwBridge hwBridge = (HwBridge)theEObject;
+ T result = caseHwBridge(hwBridge);
+ if (result == null) result = caseHwMedia(hwBridge);
+ if (result == null) result = caseCommunicationMedia(hwBridge);
+ if (result == null) result = caseHwCommunicationResource(hwBridge);
+ if (result == null) result = caseProcessingResource(hwBridge);
+ if (result == null) result = caseHwResource(hwBridge);
+ if (result == null) result = caseResource(hwBridge);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwCommunicationPackage.HW_END_POINT: {
+ HwEndPoint hwEndPoint = (HwEndPoint)theEObject;
+ T result = caseHwEndPoint(hwEndPoint);
+ if (result == null) result = caseHwCommunicationResource(hwEndPoint);
+ if (result == null) result = caseCommunicationEndPoint(hwEndPoint);
+ if (result == null) result = caseHwResource(hwEndPoint);
+ if (result == null) result = caseResource(hwEndPoint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwCommunicationResource(HwCommunicationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Arbiter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Arbiter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwArbiter(HwArbiter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Media</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Media</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwMedia(HwMedia object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Bus</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Bus</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwBus(HwBus object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Bridge</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Bridge</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwBridge(HwBridge object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw End 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>Hw End Point</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwEndPoint(HwEndPoint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessingResource(ProcessingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommunicationMedia(CommunicationMedia object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Communication End 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>Communication End Point</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommunicationEndPoint(CommunicationEndPoint 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwCommunicationSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationXMLProcessor.java
new file mode 100644
index 00000000000..5c4da24cea5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwCommunication/util/HwCommunicationXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwCommunicationXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCommunicationXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwCommunicationPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwCommunicationResourceFactoryImpl 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 HwCommunicationResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwCommunicationResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwCommunicationXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwASIC.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwASIC.java
new file mode 100644
index 00000000000..286193d02d1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwASIC.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw ASIC</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwASIC()
+ * @model
+ * @generated
+ */
+public interface HwASIC extends HwComputingResource {
+} // HwASIC
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor.java
new file mode 100644
index 00000000000..719cf035707
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwBranchPredictor.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Branch Predictor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwBranchPredictor()
+ * @model
+ * @generated
+ */
+public interface HwBranchPredictor extends HwResource {
+} // HwBranchPredictor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingFactory.java
new file mode 100644
index 00000000000..e472859ba80
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingFactory.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage
+ * @generated
+ */
+public interface HwComputingFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwComputingFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Processor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Processor</em>'.
+ * @generated
+ */
+ HwProcessor createHwProcessor();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ HwComputingResource createHwComputingResource();
+
+ /**
+ * Returns a new object of class '<em>Hw ISA</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw ISA</em>'.
+ * @generated
+ */
+ HwISA createHwISA();
+
+ /**
+ * Returns a new object of class '<em>Hw Branch Predictor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Branch Predictor</em>'.
+ * @generated
+ */
+ HwBranchPredictor createHwBranchPredictor();
+
+ /**
+ * Returns a new object of class '<em>Hw ASIC</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw ASIC</em>'.
+ * @generated
+ */
+ HwASIC createHwASIC();
+
+ /**
+ * Returns a new object of class '<em>Hw PLD</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw PLD</em>'.
+ * @generated
+ */
+ HwPLD createHwPLD();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwComputingPackage getHwComputingPackage();
+
+} //HwComputingFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingPackage.java
new file mode 100644
index 00000000000..3b088665079
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingPackage.java
@@ -0,0 +1,1952 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwComputingPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwComputing";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwComputing/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwComputing";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwComputingPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwComputingResource()
+ * @generated
+ */
+ int HW_COMPUTING_RESOURCE = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__SPEED_FACTOR = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__MAIN_SCHEDULER = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE__OP_FREQUENCIES = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPUTING_RESOURCE_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl <em>Hw Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwProcessor()
+ * @generated
+ */
+ int HW_PROCESSOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__RES_MULT = HW_COMPUTING_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__IS_PROTECTED = HW_COMPUTING_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__IS_ACTIVE = HW_COMPUTING_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__BASE_PROPERTY = HW_COMPUTING_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__BASE_INSTANCE_SPECIFICATION = HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__BASE_CLASSIFIER = HW_COMPUTING_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__BASE_LIFELINE = HW_COMPUTING_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__BASE_CONNECTABLE_ELEMENT = HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__DESCRIPTION = HW_COMPUTING_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__PHW_SERVICES = HW_COMPUTING_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__RHW_SERVICES = HW_COMPUTING_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__OWNED_HW = HW_COMPUTING_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__END_POINTS = HW_COMPUTING_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__FREQUENCY = HW_COMPUTING_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__SPEED_FACTOR = HW_COMPUTING_RESOURCE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__MAIN_SCHEDULER = HW_COMPUTING_RESOURCE__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__OP_FREQUENCIES = HW_COMPUTING_RESOURCE__OP_FREQUENCIES;
+
+ /**
+ * The feature id for the '<em><b>Architecture</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__ARCHITECTURE = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Mips</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__MIPS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Ipc</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__IPC = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Nb Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__NB_CORES = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Nb Pipelines</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__NB_PIPELINES = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Nb Stages</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__NB_STAGES = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Nb AL Us</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__NB_AL_US = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Nb FP Us</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__NB_FP_US = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Owned IS As</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__OWNED_IS_AS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Predictors</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__PREDICTORS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Caches</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__CACHES = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Owned MM Us</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR__OWNED_MM_US = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Hw Processor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PROCESSOR_FEATURE_COUNT = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl <em>Hw ISA</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwISA()
+ * @generated
+ */
+ int HW_ISA = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Family</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__FAMILY = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Inst Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__INST_WIDTH = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA__TYPE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Hw ISA</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ISA_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwBranchPredictorImpl <em>Hw Branch Predictor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwBranchPredictorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwBranchPredictor()
+ * @generated
+ */
+ int HW_BRANCH_PREDICTOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The number of structural features of the '<em>Hw Branch Predictor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_BRANCH_PREDICTOR_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwASICImpl <em>Hw ASIC</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwASICImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwASIC()
+ * @generated
+ */
+ int HW_ASIC = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__RES_MULT = HW_COMPUTING_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__IS_PROTECTED = HW_COMPUTING_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__IS_ACTIVE = HW_COMPUTING_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__BASE_PROPERTY = HW_COMPUTING_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__BASE_INSTANCE_SPECIFICATION = HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__BASE_CLASSIFIER = HW_COMPUTING_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__BASE_LIFELINE = HW_COMPUTING_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__BASE_CONNECTABLE_ELEMENT = HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__DESCRIPTION = HW_COMPUTING_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__PHW_SERVICES = HW_COMPUTING_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__RHW_SERVICES = HW_COMPUTING_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__OWNED_HW = HW_COMPUTING_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__END_POINTS = HW_COMPUTING_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__FREQUENCY = HW_COMPUTING_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__SPEED_FACTOR = HW_COMPUTING_RESOURCE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__MAIN_SCHEDULER = HW_COMPUTING_RESOURCE__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC__OP_FREQUENCIES = HW_COMPUTING_RESOURCE__OP_FREQUENCIES;
+
+ /**
+ * The number of structural features of the '<em>Hw ASIC</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ASIC_FEATURE_COUNT = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl <em>Hw PLD</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwPLD()
+ * @generated
+ */
+ int HW_PLD = 5;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__RES_MULT = HW_COMPUTING_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__IS_PROTECTED = HW_COMPUTING_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__IS_ACTIVE = HW_COMPUTING_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BASE_PROPERTY = HW_COMPUTING_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BASE_INSTANCE_SPECIFICATION = HW_COMPUTING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BASE_CLASSIFIER = HW_COMPUTING_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BASE_LIFELINE = HW_COMPUTING_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BASE_CONNECTABLE_ELEMENT = HW_COMPUTING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__DESCRIPTION = HW_COMPUTING_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__PHW_SERVICES = HW_COMPUTING_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__RHW_SERVICES = HW_COMPUTING_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__OWNED_HW = HW_COMPUTING_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__END_POINTS = HW_COMPUTING_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__FREQUENCY = HW_COMPUTING_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__SPEED_FACTOR = HW_COMPUTING_RESOURCE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__MAIN_SCHEDULER = HW_COMPUTING_RESOURCE__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Op Frequencies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__OP_FREQUENCIES = HW_COMPUTING_RESOURCE__OP_FREQUENCIES;
+
+ /**
+ * The feature id for the '<em><b>Technology</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__TECHNOLOGY = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__ORGANIZATION = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Nb LU Ts</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__NB_LU_TS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Nd LUT Inputs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__ND_LUT_INPUTS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Nb Flip Flops</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__NB_FLIP_FLOPS = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Blocks RAM</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BLOCKS_RAM = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Blocks Computing</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD__BLOCKS_COMPUTING = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Hw PLD</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_PLD_FEATURE_COUNT = HW_COMPUTING_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type <em>ISA Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getISA_Type()
+ * @generated
+ */
+ int ISA_TYPE = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology <em>PLD Technology</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Technology()
+ * @generated
+ */
+ int PLD_TECHNOLOGY = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class <em>PLD Class</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Class()
+ * @generated
+ */
+ int PLD_CLASS = 8;
+
+ /**
+ * The meta object id for the '<em>PLD Organization</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Organization()
+ * @generated
+ */
+ int PLD_ORGANIZATION = 9;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor <em>Hw Processor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Processor</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor
+ * @generated
+ */
+ EClass getHwProcessor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getArchitecture <em>Architecture</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Architecture</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getArchitecture()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_Architecture();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getMips <em>Mips</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mips</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getMips()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_Mips();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getIpc <em>Ipc</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Ipc</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getIpc()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_Ipc();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbCores <em>Nb Cores</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Cores</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbCores()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_NbCores();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbPipelines <em>Nb Pipelines</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Pipelines</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbPipelines()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_NbPipelines();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbStages <em>Nb Stages</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Stages</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbStages()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_NbStages();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbALUs <em>Nb AL Us</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb AL Us</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbALUs()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_NbALUs();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbFPUs <em>Nb FP Us</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb FP Us</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbFPUs()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EAttribute getHwProcessor_NbFPUs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedISAs <em>Owned IS As</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Owned IS As</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedISAs()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EReference getHwProcessor_OwnedISAs();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getPredictors <em>Predictors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Predictors</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getPredictors()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EReference getHwProcessor_Predictors();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getCaches <em>Caches</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Caches</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getCaches()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EReference getHwProcessor_Caches();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedMMUs <em>Owned MM Us</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Owned MM Us</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedMMUs()
+ * @see #getHwProcessor()
+ * @generated
+ */
+ EReference getHwProcessor_OwnedMMUs();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource
+ * @generated
+ */
+ EClass getHwComputingResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource#getOp_Frequencies <em>Op Frequencies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Op Frequencies</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource#getOp_Frequencies()
+ * @see #getHwComputingResource()
+ * @generated
+ */
+ EAttribute getHwComputingResource_Op_Frequencies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA <em>Hw ISA</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw ISA</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA
+ * @generated
+ */
+ EClass getHwISA();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getFamily <em>Family</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Family</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getFamily()
+ * @see #getHwISA()
+ * @generated
+ */
+ EAttribute getHwISA_Family();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getInst_Width <em>Inst Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Inst Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getInst_Width()
+ * @see #getHwISA()
+ * @generated
+ */
+ EAttribute getHwISA_Inst_Width();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getType()
+ * @see #getHwISA()
+ * @generated
+ */
+ EAttribute getHwISA_Type();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor <em>Hw Branch Predictor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Branch Predictor</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor
+ * @generated
+ */
+ EClass getHwBranchPredictor();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC <em>Hw ASIC</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw ASIC</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC
+ * @generated
+ */
+ EClass getHwASIC();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD <em>Hw PLD</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw PLD</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD
+ * @generated
+ */
+ EClass getHwPLD();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getTechnology <em>Technology</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Technology</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getTechnology()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EAttribute getHwPLD_Technology();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Organization</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getOrganization()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EAttribute getHwPLD_Organization();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbLUTs <em>Nb LU Ts</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb LU Ts</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbLUTs()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EAttribute getHwPLD_NbLUTs();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNdLUT_Inputs <em>Nd LUT Inputs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nd LUT Inputs</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNdLUT_Inputs()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EAttribute getHwPLD_NdLUT_Inputs();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbFlipFlops <em>Nb Flip Flops</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Flip Flops</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbFlipFlops()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EAttribute getHwPLD_NbFlipFlops();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksRAM <em>Blocks RAM</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Blocks RAM</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksRAM()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EReference getHwPLD_BlocksRAM();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksComputing <em>Blocks Computing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Blocks Computing</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksComputing()
+ * @see #getHwPLD()
+ * @generated
+ */
+ EReference getHwPLD_BlocksComputing();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type <em>ISA Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>ISA Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type
+ * @generated
+ */
+ EEnum getISA_Type();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology <em>PLD Technology</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>PLD Technology</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology
+ * @generated
+ */
+ EEnum getPLD_Technology();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class <em>PLD Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>PLD Class</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class
+ * @generated
+ */
+ EEnum getPLD_Class();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>PLD Organization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>PLD Organization</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getPLD_Organization();
+
+ /**
+ * 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
+ */
+ HwComputingFactory getHwComputingFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl <em>Hw Processor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwProcessor()
+ * @generated
+ */
+ EClass HW_PROCESSOR = eINSTANCE.getHwProcessor();
+
+ /**
+ * The meta object literal for the '<em><b>Architecture</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__ARCHITECTURE = eINSTANCE.getHwProcessor_Architecture();
+
+ /**
+ * The meta object literal for the '<em><b>Mips</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__MIPS = eINSTANCE.getHwProcessor_Mips();
+
+ /**
+ * The meta object literal for the '<em><b>Ipc</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__IPC = eINSTANCE.getHwProcessor_Ipc();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Cores</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__NB_CORES = eINSTANCE.getHwProcessor_NbCores();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Pipelines</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__NB_PIPELINES = eINSTANCE.getHwProcessor_NbPipelines();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Stages</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__NB_STAGES = eINSTANCE.getHwProcessor_NbStages();
+
+ /**
+ * The meta object literal for the '<em><b>Nb AL Us</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__NB_AL_US = eINSTANCE.getHwProcessor_NbALUs();
+
+ /**
+ * The meta object literal for the '<em><b>Nb FP Us</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PROCESSOR__NB_FP_US = eINSTANCE.getHwProcessor_NbFPUs();
+
+ /**
+ * The meta object literal for the '<em><b>Owned IS As</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PROCESSOR__OWNED_IS_AS = eINSTANCE.getHwProcessor_OwnedISAs();
+
+ /**
+ * The meta object literal for the '<em><b>Predictors</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PROCESSOR__PREDICTORS = eINSTANCE.getHwProcessor_Predictors();
+
+ /**
+ * The meta object literal for the '<em><b>Caches</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PROCESSOR__CACHES = eINSTANCE.getHwProcessor_Caches();
+
+ /**
+ * The meta object literal for the '<em><b>Owned MM Us</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PROCESSOR__OWNED_MM_US = eINSTANCE.getHwProcessor_OwnedMMUs();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwComputingResource()
+ * @generated
+ */
+ EClass HW_COMPUTING_RESOURCE = eINSTANCE.getHwComputingResource();
+
+ /**
+ * The meta object literal for the '<em><b>Op Frequencies</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPUTING_RESOURCE__OP_FREQUENCIES = eINSTANCE.getHwComputingResource_Op_Frequencies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl <em>Hw ISA</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwISA()
+ * @generated
+ */
+ EClass HW_ISA = eINSTANCE.getHwISA();
+
+ /**
+ * The meta object literal for the '<em><b>Family</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_ISA__FAMILY = eINSTANCE.getHwISA_Family();
+
+ /**
+ * The meta object literal for the '<em><b>Inst Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_ISA__INST_WIDTH = eINSTANCE.getHwISA_Inst_Width();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_ISA__TYPE = eINSTANCE.getHwISA_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwBranchPredictorImpl <em>Hw Branch Predictor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwBranchPredictorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwBranchPredictor()
+ * @generated
+ */
+ EClass HW_BRANCH_PREDICTOR = eINSTANCE.getHwBranchPredictor();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwASICImpl <em>Hw ASIC</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwASICImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwASIC()
+ * @generated
+ */
+ EClass HW_ASIC = eINSTANCE.getHwASIC();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl <em>Hw PLD</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getHwPLD()
+ * @generated
+ */
+ EClass HW_PLD = eINSTANCE.getHwPLD();
+
+ /**
+ * The meta object literal for the '<em><b>Technology</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PLD__TECHNOLOGY = eINSTANCE.getHwPLD_Technology();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PLD__ORGANIZATION = eINSTANCE.getHwPLD_Organization();
+
+ /**
+ * The meta object literal for the '<em><b>Nb LU Ts</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PLD__NB_LU_TS = eINSTANCE.getHwPLD_NbLUTs();
+
+ /**
+ * The meta object literal for the '<em><b>Nd LUT Inputs</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PLD__ND_LUT_INPUTS = eINSTANCE.getHwPLD_NdLUT_Inputs();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Flip Flops</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_PLD__NB_FLIP_FLOPS = eINSTANCE.getHwPLD_NbFlipFlops();
+
+ /**
+ * The meta object literal for the '<em><b>Blocks RAM</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PLD__BLOCKS_RAM = eINSTANCE.getHwPLD_BlocksRAM();
+
+ /**
+ * The meta object literal for the '<em><b>Blocks Computing</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_PLD__BLOCKS_COMPUTING = eINSTANCE.getHwPLD_BlocksComputing();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type <em>ISA Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getISA_Type()
+ * @generated
+ */
+ EEnum ISA_TYPE = eINSTANCE.getISA_Type();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology <em>PLD Technology</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Technology()
+ * @generated
+ */
+ EEnum PLD_TECHNOLOGY = eINSTANCE.getPLD_Technology();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class <em>PLD Class</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Class()
+ * @generated
+ */
+ EEnum PLD_CLASS = eINSTANCE.getPLD_Class();
+
+ /**
+ * The meta object literal for the '<em>PLD Organization</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl#getPLD_Organization()
+ * @generated
+ */
+ EDataType PLD_ORGANIZATION = eINSTANCE.getPLD_Organization();
+
+ }
+
+} //HwComputingPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource.java
new file mode 100644
index 00000000000..59c3b891929
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwComputingResource.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource#getOp_Frequencies <em>Op Frequencies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwComputingResource()
+ * @model
+ * @generated
+ */
+public interface HwComputingResource extends HwResource, ComputingResource {
+ /**
+ * Returns the value of the '<em><b>Op Frequencies</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op Frequencies</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op Frequencies</em>' attribute.
+ * @see #setOp_Frequencies(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwComputingResource_Op_Frequencies()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.NFP_FrequencyInterval" ordered="false"
+ * @generated
+ */
+ String getOp_Frequencies();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource#getOp_Frequencies <em>Op Frequencies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op Frequencies</em>' attribute.
+ * @see #getOp_Frequencies()
+ * @generated
+ */
+ void setOp_Frequencies(String value);
+
+} // HwComputingResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA.java
new file mode 100644
index 00000000000..3e6f1b358a3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwISA.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw ISA</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getFamily <em>Family</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getInst_Width <em>Inst Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwISA()
+ * @model
+ * @generated
+ */
+public interface HwISA extends HwResource {
+ /**
+ * Returns the value of the '<em><b>Family</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Family</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Family</em>' attribute.
+ * @see #setFamily(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwISA_Family()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_String" ordered="false"
+ * @generated
+ */
+ String getFamily();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getFamily <em>Family</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Family</em>' attribute.
+ * @see #getFamily()
+ * @generated
+ */
+ void setFamily(String value);
+
+ /**
+ * Returns the value of the '<em><b>Inst Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Inst Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Inst Width</em>' attribute.
+ * @see #setInst_Width(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwISA_Inst_Width()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getInst_Width();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#getInst_Width <em>Inst Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Inst Width</em>' attribute.
+ * @see #getInst_Width()
+ * @generated
+ */
+ void setInst_Width(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type
+ * @see #setType(ISA_Type)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwISA_Type()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ ISA_Type getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA#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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type
+ * @see #getType()
+ * @generated
+ */
+ void setType(ISA_Type value);
+
+} // HwISA
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD.java
new file mode 100644
index 00000000000..aac333517ec
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwPLD.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw PLD</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getTechnology <em>Technology</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getOrganization <em>Organization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbLUTs <em>Nb LU Ts</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNdLUT_Inputs <em>Nd LUT Inputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbFlipFlops <em>Nb Flip Flops</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksRAM <em>Blocks RAM</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getBlocksComputing <em>Blocks Computing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD()
+ * @model
+ * @generated
+ */
+public interface HwPLD extends HwComputingResource {
+ /**
+ * Returns the value of the '<em><b>Technology</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Technology</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Technology</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology
+ * @see #setTechnology(PLD_Technology)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_Technology()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ PLD_Technology getTechnology();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getTechnology <em>Technology</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Technology</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology
+ * @see #getTechnology()
+ * @generated
+ */
+ void setTechnology(PLD_Technology value);
+
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Organization</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Organization</em>' attribute.
+ * @see #setOrganization(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_Organization()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Organization" ordered="false"
+ * @generated
+ */
+ String getOrganization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getOrganization <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Organization</em>' attribute.
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb LU Ts</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb LU Ts</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb LU Ts</em>' attribute.
+ * @see #setNbLUTs(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_NbLUTs()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbLUTs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbLUTs <em>Nb LU Ts</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb LU Ts</em>' attribute.
+ * @see #getNbLUTs()
+ * @generated
+ */
+ void setNbLUTs(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nd LUT Inputs</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nd LUT Inputs</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nd LUT Inputs</em>' attribute.
+ * @see #setNdLUT_Inputs(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_NdLUT_Inputs()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNdLUT_Inputs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNdLUT_Inputs <em>Nd LUT Inputs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nd LUT Inputs</em>' attribute.
+ * @see #getNdLUT_Inputs()
+ * @generated
+ */
+ void setNdLUT_Inputs(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb Flip Flops</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Flip Flops</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Flip Flops</em>' attribute.
+ * @see #setNbFlipFlops(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_NbFlipFlops()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbFlipFlops();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD#getNbFlipFlops <em>Nb Flip Flops</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Flip Flops</em>' attribute.
+ * @see #getNbFlipFlops()
+ * @generated
+ */
+ void setNbFlipFlops(String value);
+
+ /**
+ * Returns the value of the '<em><b>Blocks RAM</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Blocks RAM</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>Blocks RAM</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_BlocksRAM()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwRAM> getBlocksRAM();
+
+ /**
+ * Returns the value of the '<em><b>Blocks Computing</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Blocks Computing</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>Blocks Computing</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwPLD_BlocksComputing()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwComputingResource> getBlocksComputing();
+
+} // HwPLD
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor.java
new file mode 100644
index 00000000000..50d2b065159
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/HwProcessor.java
@@ -0,0 +1,322 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Processor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getArchitecture <em>Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getMips <em>Mips</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getIpc <em>Ipc</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbCores <em>Nb Cores</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbPipelines <em>Nb Pipelines</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbStages <em>Nb Stages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbALUs <em>Nb AL Us</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbFPUs <em>Nb FP Us</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedISAs <em>Owned IS As</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getPredictors <em>Predictors</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getCaches <em>Caches</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getOwnedMMUs <em>Owned MM Us</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor()
+ * @model
+ * @generated
+ */
+public interface HwProcessor extends HwComputingResource {
+ /**
+ * Returns the value of the '<em><b>Architecture</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Architecture</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Architecture</em>' attribute.
+ * @see #setArchitecture(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_Architecture()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ String getArchitecture();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getArchitecture <em>Architecture</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Architecture</em>' attribute.
+ * @see #getArchitecture()
+ * @generated
+ */
+ void setArchitecture(String value);
+
+ /**
+ * Returns the value of the '<em><b>Mips</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mips</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mips</em>' attribute.
+ * @see #setMips(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_Mips()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getMips();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getMips <em>Mips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mips</em>' attribute.
+ * @see #getMips()
+ * @generated
+ */
+ void setMips(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ipc</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ipc</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ipc</em>' attribute.
+ * @see #setIpc(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_Ipc()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ String getIpc();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getIpc <em>Ipc</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ipc</em>' attribute.
+ * @see #getIpc()
+ * @generated
+ */
+ void setIpc(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb Cores</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Cores</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Cores</em>' attribute.
+ * @see #setNbCores(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_NbCores()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbCores();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbCores <em>Nb Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Cores</em>' attribute.
+ * @see #getNbCores()
+ * @generated
+ */
+ void setNbCores(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb Pipelines</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Pipelines</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Pipelines</em>' attribute.
+ * @see #setNbPipelines(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_NbPipelines()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbPipelines();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbPipelines <em>Nb Pipelines</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Pipelines</em>' attribute.
+ * @see #getNbPipelines()
+ * @generated
+ */
+ void setNbPipelines(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb Stages</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Stages</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Stages</em>' attribute.
+ * @see #setNbStages(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_NbStages()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbStages();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbStages <em>Nb Stages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Stages</em>' attribute.
+ * @see #getNbStages()
+ * @generated
+ */
+ void setNbStages(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb AL Us</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb AL Us</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb AL Us</em>' attribute.
+ * @see #setNbALUs(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_NbALUs()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbALUs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbALUs <em>Nb AL Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb AL Us</em>' attribute.
+ * @see #getNbALUs()
+ * @generated
+ */
+ void setNbALUs(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb FP Us</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb FP Us</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb FP Us</em>' attribute.
+ * @see #setNbFPUs(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_NbFPUs()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbFPUs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor#getNbFPUs <em>Nb FP Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb FP Us</em>' attribute.
+ * @see #getNbFPUs()
+ * @generated
+ */
+ void setNbFPUs(String value);
+
+ /**
+ * Returns the value of the '<em><b>Owned IS As</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned IS As</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>Owned IS As</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_OwnedISAs()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwISA> getOwnedISAs();
+
+ /**
+ * Returns the value of the '<em><b>Predictors</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Predictors</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>Predictors</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_Predictors()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwBranchPredictor> getPredictors();
+
+ /**
+ * Returns the value of the '<em><b>Caches</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Caches</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>Caches</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_Caches()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwCache> getCaches();
+
+ /**
+ * Returns the value of the '<em><b>Owned MM Us</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned MM Us</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>Owned MM Us</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getHwProcessor_OwnedMMUs()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwMMU> getOwnedMMUs();
+
+} // HwProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type.java
new file mode 100644
index 00000000000..40437ff19e0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/ISA_Type.java
@@ -0,0 +1,327 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+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>ISA Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getISA_Type()
+ * @model
+ * @generated
+ */
+public enum ISA_Type implements Enumerator {
+ /**
+ * The '<em><b>RISC</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RISC_VALUE
+ * @generated
+ * @ordered
+ */
+ RISC(0, "RISC", "RISC"),
+
+ /**
+ * The '<em><b>CISC</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CISC_VALUE
+ * @generated
+ * @ordered
+ */
+ CISC(1, "CISC", "CISC"),
+
+ /**
+ * The '<em><b>VLIW</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #VLIW_VALUE
+ * @generated
+ * @ordered
+ */
+ VLIW(2, "VLIW", "VLIW"),
+
+ /**
+ * The '<em><b>SIMD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SIMD_VALUE
+ * @generated
+ * @ordered
+ */
+ SIMD(3, "SIMD", "SIMD"),
+
+ /**
+ * 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>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(5, "undef", "undef");
+
+ /**
+ * The '<em><b>RISC</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>RISC</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RISC
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int RISC_VALUE = 0;
+
+ /**
+ * The '<em><b>CISC</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CISC</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CISC
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int CISC_VALUE = 1;
+
+ /**
+ * The '<em><b>VLIW</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>VLIW</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #VLIW
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int VLIW_VALUE = 2;
+
+ /**
+ * The '<em><b>SIMD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SIMD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SIMD
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SIMD_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>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>ISA Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ISA_Type[] VALUES_ARRAY =
+ new ISA_Type[] {
+ RISC,
+ CISC,
+ VLIW,
+ SIMD,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>ISA Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ISA_Type> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>ISA Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ISA_Type get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ISA_Type result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ISA Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ISA_Type getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ISA_Type result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ISA Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ISA_Type get(int value) {
+ switch (value) {
+ case RISC_VALUE: return RISC;
+ case CISC_VALUE: return CISC;
+ case VLIW_VALUE: return VLIW;
+ case SIMD_VALUE: return SIMD;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 ISA_Type(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;
+ }
+
+} //ISA_Type
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class.java
new file mode 100644
index 00000000000..3a1a1a21fd8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Class.java
@@ -0,0 +1,327 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+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>PLD Class</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getPLD_Class()
+ * @model
+ * @generated
+ */
+public enum PLD_Class implements Enumerator {
+ /**
+ * The '<em><b>Symetrical Array</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SYMETRICAL_ARRAY_VALUE
+ * @generated
+ * @ordered
+ */
+ SYMETRICAL_ARRAY(0, "symetricalArray", "symetricalArray"),
+
+ /**
+ * The '<em><b>Row Based</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ROW_BASED_VALUE
+ * @generated
+ * @ordered
+ */
+ ROW_BASED(1, "rowBased", "rowBased"),
+
+ /**
+ * The '<em><b>Sea Of Gates</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SEA_OF_GATES_VALUE
+ * @generated
+ * @ordered
+ */
+ SEA_OF_GATES(2, "seaOfGates", "seaOfGates"),
+
+ /**
+ * The '<em><b>Hierarchical PLD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HIERARCHICAL_PLD_VALUE
+ * @generated
+ * @ordered
+ */
+ HIERARCHICAL_PLD(3, "hierarchicalPLD", "hierarchicalPLD"),
+
+ /**
+ * 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>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(5, "undef", "undef");
+
+ /**
+ * The '<em><b>Symetrical Array</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Symetrical Array</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SYMETRICAL_ARRAY
+ * @model name="symetricalArray"
+ * @generated
+ * @ordered
+ */
+ public static final int SYMETRICAL_ARRAY_VALUE = 0;
+
+ /**
+ * The '<em><b>Row Based</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Row Based</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ROW_BASED
+ * @model name="rowBased"
+ * @generated
+ * @ordered
+ */
+ public static final int ROW_BASED_VALUE = 1;
+
+ /**
+ * The '<em><b>Sea Of Gates</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Sea Of Gates</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SEA_OF_GATES
+ * @model name="seaOfGates"
+ * @generated
+ * @ordered
+ */
+ public static final int SEA_OF_GATES_VALUE = 2;
+
+ /**
+ * The '<em><b>Hierarchical PLD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Hierarchical PLD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HIERARCHICAL_PLD
+ * @model name="hierarchicalPLD"
+ * @generated
+ * @ordered
+ */
+ public static final int HIERARCHICAL_PLD_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>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>PLD Class</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PLD_Class[] VALUES_ARRAY =
+ new PLD_Class[] {
+ SYMETRICAL_ARRAY,
+ ROW_BASED,
+ SEA_OF_GATES,
+ HIERARCHICAL_PLD,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>PLD Class</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PLD_Class> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>PLD Class</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Class get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PLD_Class result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>PLD Class</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Class getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PLD_Class result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>PLD Class</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Class get(int value) {
+ switch (value) {
+ case SYMETRICAL_ARRAY_VALUE: return SYMETRICAL_ARRAY;
+ case ROW_BASED_VALUE: return ROW_BASED;
+ case SEA_OF_GATES_VALUE: return SEA_OF_GATES;
+ case HIERARCHICAL_PLD_VALUE: return HIERARCHICAL_PLD;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 PLD_Class(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;
+ }
+
+} //PLD_Class
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology.java
new file mode 100644
index 00000000000..000e0fb72a7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/PLD_Technology.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing;
+
+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>PLD Technology</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#getPLD_Technology()
+ * @model
+ * @generated
+ */
+public enum PLD_Technology implements Enumerator {
+ /**
+ * The '<em><b>SRAM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SRAM_VALUE
+ * @generated
+ * @ordered
+ */
+ SRAM(0, "SRAM", "SRAM"),
+
+ /**
+ * The '<em><b>Antifuse</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ANTIFUSE_VALUE
+ * @generated
+ * @ordered
+ */
+ ANTIFUSE(1, "antifuse", "antifuse"),
+
+ /**
+ * The '<em><b>Flash</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FLASH_VALUE
+ * @generated
+ * @ordered
+ */
+ FLASH(2, "flash", "flash"),
+
+ /**
+ * 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>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(4, "undef", "undef");
+
+ /**
+ * The '<em><b>SRAM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SRAM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SRAM
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int SRAM_VALUE = 0;
+
+ /**
+ * The '<em><b>Antifuse</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Antifuse</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ANTIFUSE
+ * @model name="antifuse"
+ * @generated
+ * @ordered
+ */
+ public static final int ANTIFUSE_VALUE = 1;
+
+ /**
+ * The '<em><b>Flash</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Flash</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FLASH
+ * @model name="flash"
+ * @generated
+ * @ordered
+ */
+ public static final int FLASH_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 name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>PLD Technology</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final PLD_Technology[] VALUES_ARRAY =
+ new PLD_Technology[] {
+ SRAM,
+ ANTIFUSE,
+ FLASH,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>PLD Technology</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<PLD_Technology> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>PLD Technology</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Technology get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PLD_Technology result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>PLD Technology</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Technology getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ PLD_Technology result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>PLD Technology</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static PLD_Technology get(int value) {
+ switch (value) {
+ case SRAM_VALUE: return SRAM;
+ case ANTIFUSE_VALUE: return ANTIFUSE;
+ case FLASH_VALUE: return FLASH;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 PLD_Technology(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;
+ }
+
+} //PLD_Technology
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwASICImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwASICImpl.java
new file mode 100644
index 00000000000..9738b474d5c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwASICImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw ASIC</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwASICImpl extends HwComputingResourceImpl implements HwASIC {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwASICImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_ASIC;
+ }
+
+} //HwASICImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwBranchPredictorImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwBranchPredictorImpl.java
new file mode 100644
index 00000000000..f5fbe62355c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwBranchPredictorImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Branch Predictor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwBranchPredictorImpl extends HwResourceImpl implements HwBranchPredictor {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwBranchPredictorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_BRANCH_PREDICTOR;
+ }
+
+} //HwBranchPredictorImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingFactoryImpl.java
new file mode 100644
index 00000000000..b46021e6f77
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwComputingFactoryImpl extends EFactoryImpl implements HwComputingFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwComputingFactory init() {
+ try {
+ HwComputingFactory theHwComputingFactory = (HwComputingFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwComputing/1");
+ if (theHwComputingFactory != null) {
+ return theHwComputingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwComputingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwComputingPackage.HW_PROCESSOR: return createHwProcessor();
+ case HwComputingPackage.HW_COMPUTING_RESOURCE: return createHwComputingResource();
+ case HwComputingPackage.HW_ISA: return createHwISA();
+ case HwComputingPackage.HW_BRANCH_PREDICTOR: return createHwBranchPredictor();
+ case HwComputingPackage.HW_ASIC: return createHwASIC();
+ case HwComputingPackage.HW_PLD: return createHwPLD();
+ 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 HwComputingPackage.ISA_TYPE:
+ return createISA_TypeFromString(eDataType, initialValue);
+ case HwComputingPackage.PLD_TECHNOLOGY:
+ return createPLD_TechnologyFromString(eDataType, initialValue);
+ case HwComputingPackage.PLD_CLASS:
+ return createPLD_ClassFromString(eDataType, initialValue);
+ case HwComputingPackage.PLD_ORGANIZATION:
+ return createPLD_OrganizationFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case HwComputingPackage.ISA_TYPE:
+ return convertISA_TypeToString(eDataType, instanceValue);
+ case HwComputingPackage.PLD_TECHNOLOGY:
+ return convertPLD_TechnologyToString(eDataType, instanceValue);
+ case HwComputingPackage.PLD_CLASS:
+ return convertPLD_ClassToString(eDataType, instanceValue);
+ case HwComputingPackage.PLD_ORGANIZATION:
+ return convertPLD_OrganizationToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwProcessor createHwProcessor() {
+ HwProcessorImpl hwProcessor = new HwProcessorImpl();
+ return hwProcessor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingResource createHwComputingResource() {
+ HwComputingResourceImpl hwComputingResource = new HwComputingResourceImpl();
+ return hwComputingResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwISA createHwISA() {
+ HwISAImpl hwISA = new HwISAImpl();
+ return hwISA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwBranchPredictor createHwBranchPredictor() {
+ HwBranchPredictorImpl hwBranchPredictor = new HwBranchPredictorImpl();
+ return hwBranchPredictor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwASIC createHwASIC() {
+ HwASICImpl hwASIC = new HwASICImpl();
+ return hwASIC;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPLD createHwPLD() {
+ HwPLDImpl hwPLD = new HwPLDImpl();
+ return hwPLD;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISA_Type createISA_TypeFromString(EDataType eDataType, String initialValue) {
+ ISA_Type result = ISA_Type.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 convertISA_TypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PLD_Technology createPLD_TechnologyFromString(EDataType eDataType, String initialValue) {
+ PLD_Technology result = PLD_Technology.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 convertPLD_TechnologyToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PLD_Class createPLD_ClassFromString(EDataType eDataType, String initialValue) {
+ PLD_Class result = PLD_Class.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 convertPLD_ClassToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createPLD_OrganizationFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPLD_OrganizationToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingPackage getHwComputingPackage() {
+ return (HwComputingPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwComputingPackage getPackage() {
+ return HwComputingPackage.eINSTANCE;
+ }
+
+} //HwComputingFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingPackageImpl.java
new file mode 100644
index 00000000000..cc0dc367da4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingPackageImpl.java
@@ -0,0 +1,966 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.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.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Class;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwComputingPackageImpl extends EPackageImpl implements HwComputingPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwProcessorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwComputingResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwISAEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwBranchPredictorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwASICEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwPLDEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum isA_TypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum plD_TechnologyEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum plD_ClassEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType plD_OrganizationEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwComputingPackageImpl() {
+ super(eNS_URI, HwComputingFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwComputingPackage#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 HwComputingPackage init() {
+ if (isInited) return (HwComputingPackage)EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwComputingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwComputingPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwComputingPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwComputingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwComputingPackage.eNS_URI, theHwComputingPackage);
+ return theHwComputingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwProcessor() {
+ return hwProcessorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_Architecture() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_Mips() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_Ipc() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_NbCores() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_NbPipelines() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_NbStages() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_NbALUs() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwProcessor_NbFPUs() {
+ return (EAttribute)hwProcessorEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwProcessor_OwnedISAs() {
+ return (EReference)hwProcessorEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwProcessor_Predictors() {
+ return (EReference)hwProcessorEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwProcessor_Caches() {
+ return (EReference)hwProcessorEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwProcessor_OwnedMMUs() {
+ return (EReference)hwProcessorEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwComputingResource() {
+ return hwComputingResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComputingResource_Op_Frequencies() {
+ return (EAttribute)hwComputingResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwISA() {
+ return hwISAEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwISA_Family() {
+ return (EAttribute)hwISAEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwISA_Inst_Width() {
+ return (EAttribute)hwISAEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwISA_Type() {
+ return (EAttribute)hwISAEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwBranchPredictor() {
+ return hwBranchPredictorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwASIC() {
+ return hwASICEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwPLD() {
+ return hwPLDEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPLD_Technology() {
+ return (EAttribute)hwPLDEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPLD_Organization() {
+ return (EAttribute)hwPLDEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPLD_NbLUTs() {
+ return (EAttribute)hwPLDEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPLD_NdLUT_Inputs() {
+ return (EAttribute)hwPLDEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPLD_NbFlipFlops() {
+ return (EAttribute)hwPLDEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwPLD_BlocksRAM() {
+ return (EReference)hwPLDEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwPLD_BlocksComputing() {
+ return (EReference)hwPLDEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getISA_Type() {
+ return isA_TypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getPLD_Technology() {
+ return plD_TechnologyEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getPLD_Class() {
+ return plD_ClassEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getPLD_Organization() {
+ return plD_OrganizationEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingFactory getHwComputingFactory() {
+ return (HwComputingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwProcessorEClass = createEClass(HW_PROCESSOR);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__ARCHITECTURE);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__MIPS);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__IPC);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__NB_CORES);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__NB_PIPELINES);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__NB_STAGES);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__NB_AL_US);
+ createEAttribute(hwProcessorEClass, HW_PROCESSOR__NB_FP_US);
+ createEReference(hwProcessorEClass, HW_PROCESSOR__OWNED_IS_AS);
+ createEReference(hwProcessorEClass, HW_PROCESSOR__PREDICTORS);
+ createEReference(hwProcessorEClass, HW_PROCESSOR__CACHES);
+ createEReference(hwProcessorEClass, HW_PROCESSOR__OWNED_MM_US);
+
+ hwComputingResourceEClass = createEClass(HW_COMPUTING_RESOURCE);
+ createEAttribute(hwComputingResourceEClass, HW_COMPUTING_RESOURCE__OP_FREQUENCIES);
+
+ hwISAEClass = createEClass(HW_ISA);
+ createEAttribute(hwISAEClass, HW_ISA__FAMILY);
+ createEAttribute(hwISAEClass, HW_ISA__INST_WIDTH);
+ createEAttribute(hwISAEClass, HW_ISA__TYPE);
+
+ hwBranchPredictorEClass = createEClass(HW_BRANCH_PREDICTOR);
+
+ hwASICEClass = createEClass(HW_ASIC);
+
+ hwPLDEClass = createEClass(HW_PLD);
+ createEAttribute(hwPLDEClass, HW_PLD__TECHNOLOGY);
+ createEAttribute(hwPLDEClass, HW_PLD__ORGANIZATION);
+ createEAttribute(hwPLDEClass, HW_PLD__NB_LU_TS);
+ createEAttribute(hwPLDEClass, HW_PLD__ND_LUT_INPUTS);
+ createEAttribute(hwPLDEClass, HW_PLD__NB_FLIP_FLOPS);
+ createEReference(hwPLDEClass, HW_PLD__BLOCKS_RAM);
+ createEReference(hwPLDEClass, HW_PLD__BLOCKS_COMPUTING);
+
+ // Create enums
+ isA_TypeEEnum = createEEnum(ISA_TYPE);
+ plD_TechnologyEEnum = createEEnum(PLD_TECHNOLOGY);
+ plD_ClassEEnum = createEEnum(PLD_CLASS);
+
+ // Create data types
+ plD_OrganizationEDataType = createEDataType(PLD_ORGANIZATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ HwMemoryPackage theHwMemoryPackage = (HwMemoryPackage)EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI);
+ HwStorageManagerPackage theHwStorageManagerPackage = (HwStorageManagerPackage)EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI);
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ MARTE_DataTypesPackage theMARTE_DataTypesPackage = (MARTE_DataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwProcessorEClass.getESuperTypes().add(this.getHwComputingResource());
+ hwComputingResourceEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwComputingResourceEClass.getESuperTypes().add(theGRMPackage.getComputingResource());
+ hwISAEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwBranchPredictorEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwASICEClass.getESuperTypes().add(this.getHwComputingResource());
+ hwPLDEClass.getESuperTypes().add(this.getHwComputingResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwProcessorEClass, HwProcessor.class, "HwProcessor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwProcessor_Architecture(), theBasicNFP_TypesPackage.getNFP_DataSize(), "architecture", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_Mips(), theBasicNFP_TypesPackage.getNFP_Natural(), "mips", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_Ipc(), theBasicNFP_TypesPackage.getNFP_Real(), "ipc", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_NbCores(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbCores", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_NbPipelines(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbPipelines", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_NbStages(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbStages", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_NbALUs(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbALUs", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwProcessor_NbFPUs(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbFPUs", null, 0, 1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwProcessor_OwnedISAs(), this.getHwISA(), null, "ownedISAs", null, 0, -1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwProcessor_Predictors(), this.getHwBranchPredictor(), null, "predictors", null, 0, -1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwProcessor_Caches(), theHwMemoryPackage.getHwCache(), null, "caches", null, 0, -1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwProcessor_OwnedMMUs(), theHwStorageManagerPackage.getHwMMU(), null, "ownedMMUs", null, 0, -1, HwProcessor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwComputingResourceEClass, HwComputingResource.class, "HwComputingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwComputingResource_Op_Frequencies(), theMARTE_DataTypesPackage.getNFP_FrequencyInterval(), "op_Frequencies", null, 0, 1, HwComputingResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwISAEClass, HwISA.class, "HwISA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwISA_Family(), theBasicNFP_TypesPackage.getNFP_String(), "family", null, 0, 1, HwISA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwISA_Inst_Width(), theBasicNFP_TypesPackage.getNFP_DataSize(), "inst_Width", null, 0, 1, HwISA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwISA_Type(), this.getISA_Type(), "type", null, 0, 1, HwISA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwBranchPredictorEClass, HwBranchPredictor.class, "HwBranchPredictor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwASICEClass, HwASIC.class, "HwASIC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwPLDEClass, HwPLD.class, "HwPLD", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwPLD_Technology(), this.getPLD_Technology(), "technology", null, 0, 1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwPLD_Organization(), this.getPLD_Organization(), "organization", null, 0, 1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwPLD_NbLUTs(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbLUTs", null, 0, 1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwPLD_NdLUT_Inputs(), theBasicNFP_TypesPackage.getNFP_Natural(), "ndLUT_Inputs", null, 0, 1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwPLD_NbFlipFlops(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbFlipFlops", null, 0, 1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwPLD_BlocksRAM(), theHwMemoryPackage.getHwRAM(), null, "blocksRAM", null, 0, -1, HwPLD.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwPLD_BlocksComputing(), this.getHwComputingResource(), null, "blocksComputing", null, 0, -1, HwPLD.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(isA_TypeEEnum, ISA_Type.class, "ISA_Type");
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.RISC);
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.CISC);
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.VLIW);
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.SIMD);
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.OTHER);
+ addEEnumLiteral(isA_TypeEEnum, ISA_Type.UNDEF);
+
+ initEEnum(plD_TechnologyEEnum, PLD_Technology.class, "PLD_Technology");
+ addEEnumLiteral(plD_TechnologyEEnum, PLD_Technology.SRAM);
+ addEEnumLiteral(plD_TechnologyEEnum, PLD_Technology.ANTIFUSE);
+ addEEnumLiteral(plD_TechnologyEEnum, PLD_Technology.FLASH);
+ addEEnumLiteral(plD_TechnologyEEnum, PLD_Technology.OTHER);
+ addEEnumLiteral(plD_TechnologyEEnum, PLD_Technology.UNDEF);
+
+ initEEnum(plD_ClassEEnum, PLD_Class.class, "PLD_Class");
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.SYMETRICAL_ARRAY);
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.ROW_BASED);
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.SEA_OF_GATES);
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.HIERARCHICAL_PLD);
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.OTHER);
+ addEEnumLiteral(plD_ClassEEnum, PLD_Class.UNDEF);
+
+ // Initialize data types
+ initEDataType(plD_OrganizationEDataType, String.class, "PLD_Organization", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create annotations
+ // subsets
+ createSubsetsAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>subsets</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createSubsetsAnnotations() {
+ String source = "subsets";
+ addAnnotation
+ (getHwProcessor_OwnedISAs(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ addAnnotation
+ (getHwProcessor_Predictors(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ addAnnotation
+ (getHwProcessor_Caches(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ addAnnotation
+ (getHwProcessor_OwnedMMUs(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ addAnnotation
+ (getHwPLD_BlocksRAM(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ addAnnotation
+ (getHwPLD_BlocksComputing(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ }
+
+} //HwComputingPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingResourceImpl.java
new file mode 100644
index 00000000000..49e6327eb72
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwComputingResourceImpl.java
@@ -0,0 +1,339 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl#getSpeedFactor <em>Speed Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl#getMainScheduler <em>Main Scheduler</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingResourceImpl#getOp_Frequencies <em>Op Frequencies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwComputingResourceImpl extends HwResourceImpl implements HwComputingResource {
+ /**
+ * The default value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected static final String SPEED_FACTOR_EDEFAULT = "1.0";
+
+ /**
+ * The cached value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected String speedFactor = SPEED_FACTOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMainScheduler() <em>Main Scheduler</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMainScheduler()
+ * @generated
+ * @ordered
+ */
+ protected Scheduler mainScheduler;
+
+ /**
+ * The default value of the '{@link #getOp_Frequencies() <em>Op Frequencies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp_Frequencies()
+ * @generated
+ * @ordered
+ */
+ protected static final String OP_FREQUENCIES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOp_Frequencies() <em>Op Frequencies</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp_Frequencies()
+ * @generated
+ * @ordered
+ */
+ protected String op_Frequencies = OP_FREQUENCIES_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwComputingResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_COMPUTING_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSpeedFactor() {
+ return speedFactor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpeedFactor(String newSpeedFactor) {
+ String oldSpeedFactor = speedFactor;
+ speedFactor = newSpeedFactor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR, oldSpeedFactor, speedFactor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler getMainScheduler() {
+ if (mainScheduler != null && mainScheduler.eIsProxy()) {
+ InternalEObject oldMainScheduler = (InternalEObject)mainScheduler;
+ mainScheduler = (Scheduler)eResolveProxy(oldMainScheduler);
+ if (mainScheduler != oldMainScheduler) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+ }
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler basicGetMainScheduler() {
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMainScheduler(Scheduler newMainScheduler) {
+ Scheduler oldMainScheduler = mainScheduler;
+ mainScheduler = newMainScheduler;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOp_Frequencies() {
+ return op_Frequencies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp_Frequencies(String newOp_Frequencies) {
+ String oldOp_Frequencies = op_Frequencies;
+ op_Frequencies = newOp_Frequencies;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES, oldOp_Frequencies, op_Frequencies));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR:
+ return getSpeedFactor();
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER:
+ if (resolve) return getMainScheduler();
+ return basicGetMainScheduler();
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES:
+ return getOp_Frequencies();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor((String)newValue);
+ return;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)newValue);
+ return;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES:
+ setOp_Frequencies((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor(SPEED_FACTOR_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)null);
+ return;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES:
+ setOp_Frequencies(OP_FREQUENCIES_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR:
+ return SPEED_FACTOR_EDEFAULT == null ? speedFactor != null : !SPEED_FACTOR_EDEFAULT.equals(speedFactor);
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER:
+ return mainScheduler != null;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__OP_FREQUENCIES:
+ return OP_FREQUENCIES_EDEFAULT == null ? op_Frequencies != null : !OP_FREQUENCIES_EDEFAULT.equals(op_Frequencies);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ProcessingResource.class) {
+ switch (derivedFeatureID) {
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR: return GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR;
+ case HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER: return GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == ComputingResource.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 == ProcessingResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR: return HwComputingPackage.HW_COMPUTING_RESOURCE__SPEED_FACTOR;
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER: return HwComputingPackage.HW_COMPUTING_RESOURCE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == ComputingResource.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (speedFactor: ");
+ result.append(speedFactor);
+ result.append(", op_Frequencies: ");
+ result.append(op_Frequencies);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwComputingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwISAImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwISAImpl.java
new file mode 100644
index 00000000000..87b784ddd0b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwISAImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.ISA_Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw ISA</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl#getFamily <em>Family</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl#getInst_Width <em>Inst Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwISAImpl#getType <em>Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwISAImpl extends HwResourceImpl implements HwISA {
+ /**
+ * The default value of the '{@link #getFamily() <em>Family</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFamily()
+ * @generated
+ * @ordered
+ */
+ protected static final String FAMILY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFamily() <em>Family</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFamily()
+ * @generated
+ * @ordered
+ */
+ protected String family = FAMILY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getInst_Width() <em>Inst Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInst_Width()
+ * @generated
+ * @ordered
+ */
+ protected static final String INST_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getInst_Width() <em>Inst Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInst_Width()
+ * @generated
+ * @ordered
+ */
+ protected String inst_Width = INST_WIDTH_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 ISA_Type TYPE_EDEFAULT = ISA_Type.RISC;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected ISA_Type type = TYPE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwISAImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_ISA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFamily() {
+ return family;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFamily(String newFamily) {
+ String oldFamily = family;
+ family = newFamily;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_ISA__FAMILY, oldFamily, family));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getInst_Width() {
+ return inst_Width;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInst_Width(String newInst_Width) {
+ String oldInst_Width = inst_Width;
+ inst_Width = newInst_Width;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_ISA__INST_WIDTH, oldInst_Width, inst_Width));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ISA_Type getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(ISA_Type newType) {
+ ISA_Type oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_ISA__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwComputingPackage.HW_ISA__FAMILY:
+ return getFamily();
+ case HwComputingPackage.HW_ISA__INST_WIDTH:
+ return getInst_Width();
+ case HwComputingPackage.HW_ISA__TYPE:
+ return getType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwComputingPackage.HW_ISA__FAMILY:
+ setFamily((String)newValue);
+ return;
+ case HwComputingPackage.HW_ISA__INST_WIDTH:
+ setInst_Width((String)newValue);
+ return;
+ case HwComputingPackage.HW_ISA__TYPE:
+ setType((ISA_Type)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_ISA__FAMILY:
+ setFamily(FAMILY_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_ISA__INST_WIDTH:
+ setInst_Width(INST_WIDTH_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_ISA__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_ISA__FAMILY:
+ return FAMILY_EDEFAULT == null ? family != null : !FAMILY_EDEFAULT.equals(family);
+ case HwComputingPackage.HW_ISA__INST_WIDTH:
+ return INST_WIDTH_EDEFAULT == null ? inst_Width != null : !INST_WIDTH_EDEFAULT.equals(inst_Width);
+ case HwComputingPackage.HW_ISA__TYPE:
+ return type != TYPE_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (family: ");
+ result.append(family);
+ result.append(", inst_Width: ");
+ result.append(inst_Width);
+ result.append(", type: ");
+ result.append(type);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwISAImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwPLDImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwPLDImpl.java
new file mode 100644
index 00000000000..e627c5d91ea
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwPLDImpl.java
@@ -0,0 +1,468 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.PLD_Technology;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw PLD</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getTechnology <em>Technology</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getOrganization <em>Organization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getNbLUTs <em>Nb LU Ts</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getNdLUT_Inputs <em>Nd LUT Inputs</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getNbFlipFlops <em>Nb Flip Flops</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getBlocksRAM <em>Blocks RAM</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwPLDImpl#getBlocksComputing <em>Blocks Computing</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwPLDImpl extends HwComputingResourceImpl implements HwPLD {
+ /**
+ * The default value of the '{@link #getTechnology() <em>Technology</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTechnology()
+ * @generated
+ * @ordered
+ */
+ protected static final PLD_Technology TECHNOLOGY_EDEFAULT = PLD_Technology.SRAM;
+
+ /**
+ * The cached value of the '{@link #getTechnology() <em>Technology</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTechnology()
+ * @generated
+ * @ordered
+ */
+ protected PLD_Technology technology = TECHNOLOGY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected String organization = ORGANIZATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbLUTs() <em>Nb LU Ts</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbLUTs()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_LU_TS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbLUTs() <em>Nb LU Ts</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbLUTs()
+ * @generated
+ * @ordered
+ */
+ protected String nbLUTs = NB_LU_TS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNdLUT_Inputs() <em>Nd LUT Inputs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNdLUT_Inputs()
+ * @generated
+ * @ordered
+ */
+ protected static final String ND_LUT_INPUTS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNdLUT_Inputs() <em>Nd LUT Inputs</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNdLUT_Inputs()
+ * @generated
+ * @ordered
+ */
+ protected String ndLUT_Inputs = ND_LUT_INPUTS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbFlipFlops() <em>Nb Flip Flops</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbFlipFlops()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_FLIP_FLOPS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbFlipFlops() <em>Nb Flip Flops</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbFlipFlops()
+ * @generated
+ * @ordered
+ */
+ protected String nbFlipFlops = NB_FLIP_FLOPS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBlocksRAM() <em>Blocks RAM</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlocksRAM()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwRAM> blocksRAM;
+
+ /**
+ * The cached value of the '{@link #getBlocksComputing() <em>Blocks Computing</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlocksComputing()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwComputingResource> blocksComputing;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwPLDImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_PLD;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PLD_Technology getTechnology() {
+ return technology;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTechnology(PLD_Technology newTechnology) {
+ PLD_Technology oldTechnology = technology;
+ technology = newTechnology == null ? TECHNOLOGY_EDEFAULT : newTechnology;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PLD__TECHNOLOGY, oldTechnology, technology));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOrganization(String newOrganization) {
+ String oldOrganization = organization;
+ organization = newOrganization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PLD__ORGANIZATION, oldOrganization, organization));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbLUTs() {
+ return nbLUTs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbLUTs(String newNbLUTs) {
+ String oldNbLUTs = nbLUTs;
+ nbLUTs = newNbLUTs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PLD__NB_LU_TS, oldNbLUTs, nbLUTs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNdLUT_Inputs() {
+ return ndLUT_Inputs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNdLUT_Inputs(String newNdLUT_Inputs) {
+ String oldNdLUT_Inputs = ndLUT_Inputs;
+ ndLUT_Inputs = newNdLUT_Inputs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PLD__ND_LUT_INPUTS, oldNdLUT_Inputs, ndLUT_Inputs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbFlipFlops() {
+ return nbFlipFlops;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbFlipFlops(String newNbFlipFlops) {
+ String oldNbFlipFlops = nbFlipFlops;
+ nbFlipFlops = newNbFlipFlops;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PLD__NB_FLIP_FLOPS, oldNbFlipFlops, nbFlipFlops));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwRAM> getBlocksRAM() {
+ if (blocksRAM == null) {
+ blocksRAM = new EObjectResolvingEList<HwRAM>(HwRAM.class, this, HwComputingPackage.HW_PLD__BLOCKS_RAM);
+ }
+ return blocksRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwComputingResource> getBlocksComputing() {
+ if (blocksComputing == null) {
+ blocksComputing = new EObjectResolvingEList<HwComputingResource>(HwComputingResource.class, this, HwComputingPackage.HW_PLD__BLOCKS_COMPUTING);
+ }
+ return blocksComputing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PLD__TECHNOLOGY:
+ return getTechnology();
+ case HwComputingPackage.HW_PLD__ORGANIZATION:
+ return getOrganization();
+ case HwComputingPackage.HW_PLD__NB_LU_TS:
+ return getNbLUTs();
+ case HwComputingPackage.HW_PLD__ND_LUT_INPUTS:
+ return getNdLUT_Inputs();
+ case HwComputingPackage.HW_PLD__NB_FLIP_FLOPS:
+ return getNbFlipFlops();
+ case HwComputingPackage.HW_PLD__BLOCKS_RAM:
+ return getBlocksRAM();
+ case HwComputingPackage.HW_PLD__BLOCKS_COMPUTING:
+ return getBlocksComputing();
+ }
+ 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 HwComputingPackage.HW_PLD__TECHNOLOGY:
+ setTechnology((PLD_Technology)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__ORGANIZATION:
+ setOrganization((String)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__NB_LU_TS:
+ setNbLUTs((String)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__ND_LUT_INPUTS:
+ setNdLUT_Inputs((String)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__NB_FLIP_FLOPS:
+ setNbFlipFlops((String)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__BLOCKS_RAM:
+ getBlocksRAM().clear();
+ getBlocksRAM().addAll((Collection<? extends HwRAM>)newValue);
+ return;
+ case HwComputingPackage.HW_PLD__BLOCKS_COMPUTING:
+ getBlocksComputing().clear();
+ getBlocksComputing().addAll((Collection<? extends HwComputingResource>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PLD__TECHNOLOGY:
+ setTechnology(TECHNOLOGY_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PLD__ORGANIZATION:
+ setOrganization(ORGANIZATION_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PLD__NB_LU_TS:
+ setNbLUTs(NB_LU_TS_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PLD__ND_LUT_INPUTS:
+ setNdLUT_Inputs(ND_LUT_INPUTS_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PLD__NB_FLIP_FLOPS:
+ setNbFlipFlops(NB_FLIP_FLOPS_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PLD__BLOCKS_RAM:
+ getBlocksRAM().clear();
+ return;
+ case HwComputingPackage.HW_PLD__BLOCKS_COMPUTING:
+ getBlocksComputing().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PLD__TECHNOLOGY:
+ return technology != TECHNOLOGY_EDEFAULT;
+ case HwComputingPackage.HW_PLD__ORGANIZATION:
+ return ORGANIZATION_EDEFAULT == null ? organization != null : !ORGANIZATION_EDEFAULT.equals(organization);
+ case HwComputingPackage.HW_PLD__NB_LU_TS:
+ return NB_LU_TS_EDEFAULT == null ? nbLUTs != null : !NB_LU_TS_EDEFAULT.equals(nbLUTs);
+ case HwComputingPackage.HW_PLD__ND_LUT_INPUTS:
+ return ND_LUT_INPUTS_EDEFAULT == null ? ndLUT_Inputs != null : !ND_LUT_INPUTS_EDEFAULT.equals(ndLUT_Inputs);
+ case HwComputingPackage.HW_PLD__NB_FLIP_FLOPS:
+ return NB_FLIP_FLOPS_EDEFAULT == null ? nbFlipFlops != null : !NB_FLIP_FLOPS_EDEFAULT.equals(nbFlipFlops);
+ case HwComputingPackage.HW_PLD__BLOCKS_RAM:
+ return blocksRAM != null && !blocksRAM.isEmpty();
+ case HwComputingPackage.HW_PLD__BLOCKS_COMPUTING:
+ return blocksComputing != null && !blocksComputing.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (technology: ");
+ result.append(technology);
+ result.append(", organization: ");
+ result.append(organization);
+ result.append(", nbLUTs: ");
+ result.append(nbLUTs);
+ result.append(", ndLUT_Inputs: ");
+ result.append(ndLUT_Inputs);
+ result.append(", nbFlipFlops: ");
+ result.append(nbFlipFlops);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwPLDImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwProcessorImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwProcessorImpl.java
new file mode 100644
index 00000000000..1489aefb6f1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/impl/HwProcessorImpl.java
@@ -0,0 +1,738 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU;
+import org.eclipse.papyrus.MARTE.utils.MarteUtils;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Processor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getArchitecture <em>Architecture</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getMips <em>Mips</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getIpc <em>Ipc</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getNbCores <em>Nb Cores</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getNbPipelines <em>Nb Pipelines</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getNbStages <em>Nb Stages</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getNbALUs <em>Nb AL Us</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getNbFPUs <em>Nb FP Us</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getOwnedISAs <em>Owned IS As</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getPredictors <em>Predictors</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getCaches <em>Caches</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwProcessorImpl#getOwnedMMUs <em>Owned MM Us</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwProcessorImpl extends HwComputingResourceImpl implements HwProcessor {
+ /**
+ * The default value of the '{@link #getArchitecture() <em>Architecture</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArchitecture()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARCHITECTURE_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getMips() <em>Mips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMips()
+ * @generated
+ * @ordered
+ */
+ protected static final String MIPS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMips() <em>Mips</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMips()
+ * @generated
+ * @ordered
+ */
+ protected String mips = MIPS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIpc() <em>Ipc</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIpc()
+ * @generated
+ * @ordered
+ */
+ protected static final String IPC_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getNbCores() <em>Nb Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbCores()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_CORES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbCores() <em>Nb Cores</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbCores()
+ * @generated
+ * @ordered
+ */
+ protected String nbCores = NB_CORES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbPipelines() <em>Nb Pipelines</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbPipelines()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_PIPELINES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbPipelines() <em>Nb Pipelines</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbPipelines()
+ * @generated
+ * @ordered
+ */
+ protected String nbPipelines = NB_PIPELINES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbStages() <em>Nb Stages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbStages()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_STAGES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbStages() <em>Nb Stages</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbStages()
+ * @generated
+ * @ordered
+ */
+ protected String nbStages = NB_STAGES_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbALUs() <em>Nb AL Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbALUs()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_AL_US_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbALUs() <em>Nb AL Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbALUs()
+ * @generated
+ * @ordered
+ */
+ protected String nbALUs = NB_AL_US_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbFPUs() <em>Nb FP Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbFPUs()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_FP_US_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbFPUs() <em>Nb FP Us</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbFPUs()
+ * @generated
+ * @ordered
+ */
+ protected String nbFPUs = NB_FP_US_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOwnedISAs() <em>Owned IS As</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedISAs()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwISA> ownedISAs;
+
+ /**
+ * The cached value of the '{@link #getPredictors() <em>Predictors</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPredictors()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwBranchPredictor> predictors;
+
+ /**
+ * The cached value of the '{@link #getCaches() <em>Caches</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCaches()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwCache> caches;
+
+ /**
+ * The cached value of the '{@link #getOwnedMMUs() <em>Owned MM Us</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedMMUs()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMMU> ownedMMUs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwProcessorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwComputingPackage.Literals.HW_PROCESSOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String getArchitecture() {
+ // TODO: implement this method to return the 'Architecture' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+
+ Object base = null;
+ if(getBase_Classifier()!=null)
+ base = getBase_Classifier();
+ else if(getBase_ConnectableElement()!=null)
+ base = getBase_ConnectableElement();
+ else if(getBase_InstanceSpecification()!=null)
+ base = getBase_InstanceSpecification();
+ else if(getBase_Lifeline()!=null)
+ base = getBase_Lifeline();
+ else if(getBase_Property()!=null)
+ base = getBase_Property();
+
+ String archi=null;
+
+ if(base!=null) {
+ //Object ownedISAs = eGet(HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS, false, false);
+
+ int instWidth = 0;
+ Iterator<HwISA> isaIter = getOwnedISAs().iterator();
+ while(isaIter.hasNext()) {
+ HwISA currentISA = isaIter.next();
+ String widthTuple = currentISA.getInst_Width();
+ if(widthTuple!=null) {
+ Integer intWidth = Integer.valueOf(MarteUtils.getValueFromTuple(widthTuple, "value"));
+ if(instWidth < intWidth) {
+ instWidth = intWidth;
+ String stringUnit = MarteUtils.getValueFromTuple(widthTuple, "unit");
+ archi = "{unit="+stringUnit+",value=" + String.valueOf(instWidth) + "}";
+ }
+ }
+ }
+ }
+
+ return archi;
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArchitecture(String newArchitecture) {
+ // TODO: implement this method to set the 'Architecture' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMips() {
+ return mips;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMips(String newMips) {
+ String oldMips = mips;
+ mips = newMips;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__MIPS, oldMips, mips));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String getIpc() {
+ // TODO: implement this method to return the 'Ipc' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+
+ String ipc = null;
+
+ String mipsTuple = getMips();
+ String frequencyTuple = getFrequency();
+
+ if(mipsTuple != null && frequencyTuple!=null) {
+ int mipsValue = Integer.valueOf(MarteUtils.getValueFromTuple(mipsTuple, "value"));
+ float frequencyValue = Float.valueOf(MarteUtils.getValueFromTuple(frequencyTuple, "value"));
+ String frequencyUnit = MarteUtils.getValueFromTuple(frequencyTuple, "unit");
+ long convFactor = 1;
+ if(frequencyUnit.equals("Gz"))
+ convFactor = 1000000000;
+ else if(frequencyUnit.equals("Mz"))
+ convFactor = 1000000;
+ else if(frequencyUnit.equals("KHz"))
+ convFactor = 1000;
+
+ ipc = String.valueOf((mipsValue*1000000)/(convFactor*frequencyValue));
+ }
+
+ return ipc;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIpc(String newIpc) {
+ // TODO: implement this method to set the 'Ipc' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbCores() {
+ return nbCores;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbCores(String newNbCores) {
+ String oldNbCores = nbCores;
+ nbCores = newNbCores;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__NB_CORES, oldNbCores, nbCores));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbPipelines() {
+ return nbPipelines;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbPipelines(String newNbPipelines) {
+ String oldNbPipelines = nbPipelines;
+ nbPipelines = newNbPipelines;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__NB_PIPELINES, oldNbPipelines, nbPipelines));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbStages() {
+ return nbStages;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbStages(String newNbStages) {
+ String oldNbStages = nbStages;
+ nbStages = newNbStages;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__NB_STAGES, oldNbStages, nbStages));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbALUs() {
+ return nbALUs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbALUs(String newNbALUs) {
+ String oldNbALUs = nbALUs;
+ nbALUs = newNbALUs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__NB_AL_US, oldNbALUs, nbALUs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbFPUs() {
+ return nbFPUs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbFPUs(String newNbFPUs) {
+ String oldNbFPUs = nbFPUs;
+ nbFPUs = newNbFPUs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwComputingPackage.HW_PROCESSOR__NB_FP_US, oldNbFPUs, nbFPUs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwISA> getOwnedISAs() {
+ if (ownedISAs == null) {
+ ownedISAs = new EObjectResolvingEList<HwISA>(HwISA.class, this, HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS);
+ }
+ return ownedISAs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwBranchPredictor> getPredictors() {
+ if (predictors == null) {
+ predictors = new EObjectResolvingEList<HwBranchPredictor>(HwBranchPredictor.class, this, HwComputingPackage.HW_PROCESSOR__PREDICTORS);
+ }
+ return predictors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwCache> getCaches() {
+ if (caches == null) {
+ caches = new EObjectResolvingEList<HwCache>(HwCache.class, this, HwComputingPackage.HW_PROCESSOR__CACHES);
+ }
+ return caches;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMMU> getOwnedMMUs() {
+ if (ownedMMUs == null) {
+ ownedMMUs = new EObjectResolvingEList<HwMMU>(HwMMU.class, this, HwComputingPackage.HW_PROCESSOR__OWNED_MM_US);
+ }
+ return ownedMMUs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PROCESSOR__ARCHITECTURE:
+ return getArchitecture();
+ case HwComputingPackage.HW_PROCESSOR__MIPS:
+ return getMips();
+ case HwComputingPackage.HW_PROCESSOR__IPC:
+ return getIpc();
+ case HwComputingPackage.HW_PROCESSOR__NB_CORES:
+ return getNbCores();
+ case HwComputingPackage.HW_PROCESSOR__NB_PIPELINES:
+ return getNbPipelines();
+ case HwComputingPackage.HW_PROCESSOR__NB_STAGES:
+ return getNbStages();
+ case HwComputingPackage.HW_PROCESSOR__NB_AL_US:
+ return getNbALUs();
+ case HwComputingPackage.HW_PROCESSOR__NB_FP_US:
+ return getNbFPUs();
+ case HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS:
+ return getOwnedISAs();
+ case HwComputingPackage.HW_PROCESSOR__PREDICTORS:
+ return getPredictors();
+ case HwComputingPackage.HW_PROCESSOR__CACHES:
+ return getCaches();
+ case HwComputingPackage.HW_PROCESSOR__OWNED_MM_US:
+ return getOwnedMMUs();
+ }
+ 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 HwComputingPackage.HW_PROCESSOR__ARCHITECTURE:
+ setArchitecture((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__MIPS:
+ setMips((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__IPC:
+ setIpc((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_CORES:
+ setNbCores((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_PIPELINES:
+ setNbPipelines((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_STAGES:
+ setNbStages((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_AL_US:
+ setNbALUs((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_FP_US:
+ setNbFPUs((String)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS:
+ getOwnedISAs().clear();
+ getOwnedISAs().addAll((Collection<? extends HwISA>)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__PREDICTORS:
+ getPredictors().clear();
+ getPredictors().addAll((Collection<? extends HwBranchPredictor>)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__CACHES:
+ getCaches().clear();
+ getCaches().addAll((Collection<? extends HwCache>)newValue);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__OWNED_MM_US:
+ getOwnedMMUs().clear();
+ getOwnedMMUs().addAll((Collection<? extends HwMMU>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PROCESSOR__ARCHITECTURE:
+ setArchitecture(ARCHITECTURE_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__MIPS:
+ setMips(MIPS_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__IPC:
+ setIpc(IPC_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_CORES:
+ setNbCores(NB_CORES_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_PIPELINES:
+ setNbPipelines(NB_PIPELINES_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_STAGES:
+ setNbStages(NB_STAGES_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_AL_US:
+ setNbALUs(NB_AL_US_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__NB_FP_US:
+ setNbFPUs(NB_FP_US_EDEFAULT);
+ return;
+ case HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS:
+ getOwnedISAs().clear();
+ return;
+ case HwComputingPackage.HW_PROCESSOR__PREDICTORS:
+ getPredictors().clear();
+ return;
+ case HwComputingPackage.HW_PROCESSOR__CACHES:
+ getCaches().clear();
+ return;
+ case HwComputingPackage.HW_PROCESSOR__OWNED_MM_US:
+ getOwnedMMUs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwComputingPackage.HW_PROCESSOR__ARCHITECTURE:
+ return ARCHITECTURE_EDEFAULT == null ? getArchitecture() != null : !ARCHITECTURE_EDEFAULT.equals(getArchitecture());
+ case HwComputingPackage.HW_PROCESSOR__MIPS:
+ return MIPS_EDEFAULT == null ? mips != null : !MIPS_EDEFAULT.equals(mips);
+ case HwComputingPackage.HW_PROCESSOR__IPC:
+ return IPC_EDEFAULT == null ? getIpc() != null : !IPC_EDEFAULT.equals(getIpc());
+ case HwComputingPackage.HW_PROCESSOR__NB_CORES:
+ return NB_CORES_EDEFAULT == null ? nbCores != null : !NB_CORES_EDEFAULT.equals(nbCores);
+ case HwComputingPackage.HW_PROCESSOR__NB_PIPELINES:
+ return NB_PIPELINES_EDEFAULT == null ? nbPipelines != null : !NB_PIPELINES_EDEFAULT.equals(nbPipelines);
+ case HwComputingPackage.HW_PROCESSOR__NB_STAGES:
+ return NB_STAGES_EDEFAULT == null ? nbStages != null : !NB_STAGES_EDEFAULT.equals(nbStages);
+ case HwComputingPackage.HW_PROCESSOR__NB_AL_US:
+ return NB_AL_US_EDEFAULT == null ? nbALUs != null : !NB_AL_US_EDEFAULT.equals(nbALUs);
+ case HwComputingPackage.HW_PROCESSOR__NB_FP_US:
+ return NB_FP_US_EDEFAULT == null ? nbFPUs != null : !NB_FP_US_EDEFAULT.equals(nbFPUs);
+ case HwComputingPackage.HW_PROCESSOR__OWNED_IS_AS:
+ return ownedISAs != null && !ownedISAs.isEmpty();
+ case HwComputingPackage.HW_PROCESSOR__PREDICTORS:
+ return predictors != null && !predictors.isEmpty();
+ case HwComputingPackage.HW_PROCESSOR__CACHES:
+ return caches != null && !caches.isEmpty();
+ case HwComputingPackage.HW_PROCESSOR__OWNED_MM_US:
+ return ownedMMUs != null && !ownedMMUs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mips: ");
+ result.append(mips);
+ result.append(", nbCores: ");
+ result.append(nbCores);
+ result.append(", nbPipelines: ");
+ result.append(nbPipelines);
+ result.append(", nbStages: ");
+ result.append(nbStages);
+ result.append(", nbALUs: ");
+ result.append(nbALUs);
+ result.append(", nbFPUs: ");
+ result.append(nbFPUs);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwProcessorImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingAdapterFactory.java
new file mode 100644
index 00000000000..338e3d7c12c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage
+ * @generated
+ */
+public class HwComputingAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwComputingPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwComputingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwComputingSwitch<Adapter> modelSwitch =
+ new HwComputingSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwProcessor(HwProcessor object) {
+ return createHwProcessorAdapter();
+ }
+ @Override
+ public Adapter caseHwComputingResource(HwComputingResource object) {
+ return createHwComputingResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwISA(HwISA object) {
+ return createHwISAAdapter();
+ }
+ @Override
+ public Adapter caseHwBranchPredictor(HwBranchPredictor object) {
+ return createHwBranchPredictorAdapter();
+ }
+ @Override
+ public Adapter caseHwASIC(HwASIC object) {
+ return createHwASICAdapter();
+ }
+ @Override
+ public Adapter caseHwPLD(HwPLD object) {
+ return createHwPLDAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseProcessingResource(ProcessingResource object) {
+ return createProcessingResourceAdapter();
+ }
+ @Override
+ public Adapter caseComputingResource(ComputingResource object) {
+ return createComputingResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor <em>Hw Processor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor
+ * @generated
+ */
+ public Adapter createHwProcessorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingResource
+ * @generated
+ */
+ public Adapter createHwComputingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA <em>Hw ISA</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwISA
+ * @generated
+ */
+ public Adapter createHwISAAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor <em>Hw Branch Predictor</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwBranchPredictor
+ * @generated
+ */
+ public Adapter createHwBranchPredictorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC <em>Hw ASIC</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwASIC
+ * @generated
+ */
+ public Adapter createHwASICAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD <em>Hw PLD</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwPLD
+ * @generated
+ */
+ public Adapter createHwPLDAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource <em>Processing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource
+ * @generated
+ */
+ public Adapter createProcessingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource <em>Computing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource
+ * @generated
+ */
+ public Adapter createComputingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //HwComputingAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceFactoryImpl.java
new file mode 100644
index 00000000000..b61ff248b51
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.util.HwComputingResourceImpl
+ * @generated
+ */
+public class HwComputingResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwComputingResourceImpl(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;
+ }
+
+} //HwComputingResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceImpl.java
new file mode 100644
index 00000000000..be8e94e1bc6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.util.HwComputingResourceFactoryImpl
+ * @generated
+ */
+public class HwComputingResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwComputingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwComputingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingSwitch.java
new file mode 100644
index 00000000000..dfd0ce92d66
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingSwitch.java
@@ -0,0 +1,331 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage
+ * @generated
+ */
+public class HwComputingSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwComputingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwComputingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwComputingPackage.HW_PROCESSOR: {
+ HwProcessor hwProcessor = (HwProcessor)theEObject;
+ T result = caseHwProcessor(hwProcessor);
+ if (result == null) result = caseHwComputingResource(hwProcessor);
+ if (result == null) result = caseHwResource(hwProcessor);
+ if (result == null) result = caseComputingResource(hwProcessor);
+ if (result == null) result = caseProcessingResource(hwProcessor);
+ if (result == null) result = caseResource(hwProcessor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwComputingPackage.HW_COMPUTING_RESOURCE: {
+ HwComputingResource hwComputingResource = (HwComputingResource)theEObject;
+ T result = caseHwComputingResource(hwComputingResource);
+ if (result == null) result = caseHwResource(hwComputingResource);
+ if (result == null) result = caseComputingResource(hwComputingResource);
+ if (result == null) result = caseProcessingResource(hwComputingResource);
+ if (result == null) result = caseResource(hwComputingResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwComputingPackage.HW_ISA: {
+ HwISA hwISA = (HwISA)theEObject;
+ T result = caseHwISA(hwISA);
+ if (result == null) result = caseHwResource(hwISA);
+ if (result == null) result = caseResource(hwISA);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwComputingPackage.HW_BRANCH_PREDICTOR: {
+ HwBranchPredictor hwBranchPredictor = (HwBranchPredictor)theEObject;
+ T result = caseHwBranchPredictor(hwBranchPredictor);
+ if (result == null) result = caseHwResource(hwBranchPredictor);
+ if (result == null) result = caseResource(hwBranchPredictor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwComputingPackage.HW_ASIC: {
+ HwASIC hwASIC = (HwASIC)theEObject;
+ T result = caseHwASIC(hwASIC);
+ if (result == null) result = caseHwComputingResource(hwASIC);
+ if (result == null) result = caseHwResource(hwASIC);
+ if (result == null) result = caseComputingResource(hwASIC);
+ if (result == null) result = caseProcessingResource(hwASIC);
+ if (result == null) result = caseResource(hwASIC);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwComputingPackage.HW_PLD: {
+ HwPLD hwPLD = (HwPLD)theEObject;
+ T result = caseHwPLD(hwPLD);
+ if (result == null) result = caseHwComputingResource(hwPLD);
+ if (result == null) result = caseHwResource(hwPLD);
+ if (result == null) result = caseComputingResource(hwPLD);
+ if (result == null) result = caseProcessingResource(hwPLD);
+ if (result == null) result = caseResource(hwPLD);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Processor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Processor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwProcessor(HwProcessor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwComputingResource(HwComputingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw ISA</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw ISA</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwISA(HwISA object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Branch Predictor</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Branch Predictor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwBranchPredictor(HwBranchPredictor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw ASIC</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw ASIC</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwASIC(HwASIC object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw PLD</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw PLD</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwPLD(HwPLD object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessingResource(ProcessingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Computing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Computing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseComputingResource(ComputingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwComputingSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingXMLProcessor.java
new file mode 100644
index 00000000000..386ff3eb880
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwComputing/util/HwComputingXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwComputingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComputingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwComputingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwComputingResourceFactoryImpl 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 HwComputingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwComputingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwComputingXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWActuator.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWActuator.java
new file mode 100644
index 00000000000..268d2d26f51
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWActuator.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>HW Actuator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#getHWActuator()
+ * @model
+ * @generated
+ */
+public interface HWActuator extends HwI_O {
+} // HWActuator
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWSensor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWSensor.java
new file mode 100644
index 00000000000..440561fac61
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HWSensor.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>HW Sensor</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#getHWSensor()
+ * @model
+ * @generated
+ */
+public interface HWSensor extends HwI_O {
+} // HWSensor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice.java
new file mode 100644
index 00000000000..6ab15cbe06d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevice.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Device</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#getHwDevice()
+ * @model
+ * @generated
+ */
+public interface HwDevice extends HwResource, DeviceResource {
+} // HwDevice
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDeviceFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDeviceFactory.java
new file mode 100644
index 00000000000..f7b543a973f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDeviceFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage
+ * @generated
+ */
+public interface HwDeviceFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwDeviceFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Device</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Device</em>'.
+ * @generated
+ */
+ HwDevice createHwDevice();
+
+ /**
+ * Returns a new object of class '<em>Hw IO</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw IO</em>'.
+ * @generated
+ */
+ HwI_O createHwI_O();
+
+ /**
+ * Returns a new object of class '<em>Hw Support</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Support</em>'.
+ * @generated
+ */
+ HwSupport createHwSupport();
+
+ /**
+ * Returns a new object of class '<em>HW Actuator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>HW Actuator</em>'.
+ * @generated
+ */
+ HWActuator createHWActuator();
+
+ /**
+ * Returns a new object of class '<em>HW Sensor</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>HW Sensor</em>'.
+ * @generated
+ */
+ HWSensor createHWSensor();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwDevicePackage getHwDevicePackage();
+
+} //HwDeviceFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevicePackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevicePackage.java
new file mode 100644
index 00000000000..ed9bd9788a4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwDevicePackage.java
@@ -0,0 +1,1009 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDeviceFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwDevicePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwDevice";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwDevice/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwDevice";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwDevicePackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl <em>Hw Device</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwDevice()
+ * @generated
+ */
+ int HW_DEVICE = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__SPEED_FACTOR = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE__MAIN_SCHEDULER = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw Device</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DEVICE_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwI_OImpl <em>Hw IO</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwI_OImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwI_O()
+ * @generated
+ */
+ int HW_IO = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__RES_MULT = HW_DEVICE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__IS_PROTECTED = HW_DEVICE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__IS_ACTIVE = HW_DEVICE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__BASE_PROPERTY = HW_DEVICE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__BASE_INSTANCE_SPECIFICATION = HW_DEVICE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__BASE_CLASSIFIER = HW_DEVICE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__BASE_LIFELINE = HW_DEVICE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__BASE_CONNECTABLE_ELEMENT = HW_DEVICE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__DESCRIPTION = HW_DEVICE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__PHW_SERVICES = HW_DEVICE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__RHW_SERVICES = HW_DEVICE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__OWNED_HW = HW_DEVICE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__END_POINTS = HW_DEVICE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__FREQUENCY = HW_DEVICE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__SPEED_FACTOR = HW_DEVICE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO__MAIN_SCHEDULER = HW_DEVICE__MAIN_SCHEDULER;
+
+ /**
+ * The number of structural features of the '<em>Hw IO</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_IO_FEATURE_COUNT = HW_DEVICE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwSupportImpl <em>Hw Support</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwSupportImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwSupport()
+ * @generated
+ */
+ int HW_SUPPORT = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__RES_MULT = HW_DEVICE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__IS_PROTECTED = HW_DEVICE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__IS_ACTIVE = HW_DEVICE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__BASE_PROPERTY = HW_DEVICE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__BASE_INSTANCE_SPECIFICATION = HW_DEVICE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__BASE_CLASSIFIER = HW_DEVICE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__BASE_LIFELINE = HW_DEVICE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__BASE_CONNECTABLE_ELEMENT = HW_DEVICE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__DESCRIPTION = HW_DEVICE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__PHW_SERVICES = HW_DEVICE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__RHW_SERVICES = HW_DEVICE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__OWNED_HW = HW_DEVICE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__END_POINTS = HW_DEVICE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__FREQUENCY = HW_DEVICE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__SPEED_FACTOR = HW_DEVICE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT__MAIN_SCHEDULER = HW_DEVICE__MAIN_SCHEDULER;
+
+ /**
+ * The number of structural features of the '<em>Hw Support</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SUPPORT_FEATURE_COUNT = HW_DEVICE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWActuatorImpl <em>HW Actuator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWActuatorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHWActuator()
+ * @generated
+ */
+ int HW_ACTUATOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__RES_MULT = HW_IO__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__IS_PROTECTED = HW_IO__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__IS_ACTIVE = HW_IO__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__BASE_PROPERTY = HW_IO__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__BASE_INSTANCE_SPECIFICATION = HW_IO__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__BASE_CLASSIFIER = HW_IO__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__BASE_LIFELINE = HW_IO__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__BASE_CONNECTABLE_ELEMENT = HW_IO__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__DESCRIPTION = HW_IO__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__PHW_SERVICES = HW_IO__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__RHW_SERVICES = HW_IO__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__OWNED_HW = HW_IO__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__END_POINTS = HW_IO__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__FREQUENCY = HW_IO__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__SPEED_FACTOR = HW_IO__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR__MAIN_SCHEDULER = HW_IO__MAIN_SCHEDULER;
+
+ /**
+ * The number of structural features of the '<em>HW Actuator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ACTUATOR_FEATURE_COUNT = HW_IO_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWSensorImpl <em>HW Sensor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWSensorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHWSensor()
+ * @generated
+ */
+ int HW_SENSOR = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__RES_MULT = HW_IO__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__IS_PROTECTED = HW_IO__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__IS_ACTIVE = HW_IO__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__BASE_PROPERTY = HW_IO__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__BASE_INSTANCE_SPECIFICATION = HW_IO__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__BASE_CLASSIFIER = HW_IO__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__BASE_LIFELINE = HW_IO__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__BASE_CONNECTABLE_ELEMENT = HW_IO__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__DESCRIPTION = HW_IO__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__PHW_SERVICES = HW_IO__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__RHW_SERVICES = HW_IO__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__OWNED_HW = HW_IO__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__END_POINTS = HW_IO__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__FREQUENCY = HW_IO__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__SPEED_FACTOR = HW_IO__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR__MAIN_SCHEDULER = HW_IO__MAIN_SCHEDULER;
+
+ /**
+ * The number of structural features of the '<em>HW Sensor</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_SENSOR_FEATURE_COUNT = HW_IO_FEATURE_COUNT + 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice <em>Hw Device</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Device</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice
+ * @generated
+ */
+ EClass getHwDevice();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O <em>Hw IO</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw IO</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O
+ * @generated
+ */
+ EClass getHwI_O();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport <em>Hw Support</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Support</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport
+ * @generated
+ */
+ EClass getHwSupport();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator <em>HW Actuator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>HW Actuator</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator
+ * @generated
+ */
+ EClass getHWActuator();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor <em>HW Sensor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>HW Sensor</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor
+ * @generated
+ */
+ EClass getHWSensor();
+
+ /**
+ * 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
+ */
+ HwDeviceFactory getHwDeviceFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl <em>Hw Device</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwDevice()
+ * @generated
+ */
+ EClass HW_DEVICE = eINSTANCE.getHwDevice();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwI_OImpl <em>Hw IO</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwI_OImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwI_O()
+ * @generated
+ */
+ EClass HW_IO = eINSTANCE.getHwI_O();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwSupportImpl <em>Hw Support</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwSupportImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHwSupport()
+ * @generated
+ */
+ EClass HW_SUPPORT = eINSTANCE.getHwSupport();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWActuatorImpl <em>HW Actuator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWActuatorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHWActuator()
+ * @generated
+ */
+ EClass HW_ACTUATOR = eINSTANCE.getHWActuator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWSensorImpl <em>HW Sensor</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HWSensorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl#getHWSensor()
+ * @generated
+ */
+ EClass HW_SENSOR = eINSTANCE.getHWSensor();
+
+ }
+
+} //HwDevicePackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O.java
new file mode 100644
index 00000000000..02a25c63715
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwI_O.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw IO</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#getHwI_O()
+ * @model
+ * @generated
+ */
+public interface HwI_O extends HwDevice {
+} // HwI_O
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwSupport.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwSupport.java
new file mode 100644
index 00000000000..94d0c42f5c2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/HwSupport.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Support</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#getHwSupport()
+ * @model
+ * @generated
+ */
+public interface HwSupport extends HwDevice {
+} // HwSupport
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWActuatorImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWActuatorImpl.java
new file mode 100644
index 00000000000..8b72d995745
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWActuatorImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>HW Actuator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HWActuatorImpl extends HwI_OImpl implements HWActuator {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HWActuatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwDevicePackage.Literals.HW_ACTUATOR;
+ }
+
+} //HWActuatorImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWSensorImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWSensorImpl.java
new file mode 100644
index 00000000000..0ac111f66c4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HWSensorImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>HW Sensor</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HWSensorImpl extends HwI_OImpl implements HWSensor {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HWSensorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwDevicePackage.Literals.HW_SENSOR;
+ }
+
+} //HWSensorImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceFactoryImpl.java
new file mode 100644
index 00000000000..3bc8277366a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwDeviceFactoryImpl extends EFactoryImpl implements HwDeviceFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwDeviceFactory init() {
+ try {
+ HwDeviceFactory theHwDeviceFactory = (HwDeviceFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwDevice/1");
+ if (theHwDeviceFactory != null) {
+ return theHwDeviceFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwDeviceFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwDevicePackage.HW_DEVICE: return createHwDevice();
+ case HwDevicePackage.HW_IO: return createHwI_O();
+ case HwDevicePackage.HW_SUPPORT: return createHwSupport();
+ case HwDevicePackage.HW_ACTUATOR: return createHWActuator();
+ case HwDevicePackage.HW_SENSOR: return createHWSensor();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDevice createHwDevice() {
+ HwDeviceImpl hwDevice = new HwDeviceImpl();
+ return hwDevice;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwI_O createHwI_O() {
+ HwI_OImpl hwI_O = new HwI_OImpl();
+ return hwI_O;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwSupport createHwSupport() {
+ HwSupportImpl hwSupport = new HwSupportImpl();
+ return hwSupport;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HWActuator createHWActuator() {
+ HWActuatorImpl hwActuator = new HWActuatorImpl();
+ return hwActuator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HWSensor createHWSensor() {
+ HWSensorImpl hwSensor = new HWSensorImpl();
+ return hwSensor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDevicePackage getHwDevicePackage() {
+ return (HwDevicePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwDevicePackage getPackage() {
+ return HwDevicePackage.eINSTANCE;
+ }
+
+} //HwDeviceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceImpl.java
new file mode 100644
index 00000000000..37ec5661ba7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDeviceImpl.java
@@ -0,0 +1,285 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Device</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl#getSpeedFactor <em>Speed Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDeviceImpl#getMainScheduler <em>Main Scheduler</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwDeviceImpl extends HwResourceImpl implements HwDevice {
+ /**
+ * The default value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected static final String SPEED_FACTOR_EDEFAULT = "1.0";
+
+ /**
+ * The cached value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected String speedFactor = SPEED_FACTOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMainScheduler() <em>Main Scheduler</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMainScheduler()
+ * @generated
+ * @ordered
+ */
+ protected Scheduler mainScheduler;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwDeviceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwDevicePackage.Literals.HW_DEVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSpeedFactor() {
+ return speedFactor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpeedFactor(String newSpeedFactor) {
+ String oldSpeedFactor = speedFactor;
+ speedFactor = newSpeedFactor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwDevicePackage.HW_DEVICE__SPEED_FACTOR, oldSpeedFactor, speedFactor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler getMainScheduler() {
+ if (mainScheduler != null && mainScheduler.eIsProxy()) {
+ InternalEObject oldMainScheduler = (InternalEObject)mainScheduler;
+ mainScheduler = (Scheduler)eResolveProxy(oldMainScheduler);
+ if (mainScheduler != oldMainScheduler) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+ }
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler basicGetMainScheduler() {
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMainScheduler(Scheduler newMainScheduler) {
+ Scheduler oldMainScheduler = mainScheduler;
+ mainScheduler = newMainScheduler;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwDevicePackage.HW_DEVICE__SPEED_FACTOR:
+ return getSpeedFactor();
+ case HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER:
+ if (resolve) return getMainScheduler();
+ return basicGetMainScheduler();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwDevicePackage.HW_DEVICE__SPEED_FACTOR:
+ setSpeedFactor((String)newValue);
+ return;
+ case HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwDevicePackage.HW_DEVICE__SPEED_FACTOR:
+ setSpeedFactor(SPEED_FACTOR_EDEFAULT);
+ return;
+ case HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwDevicePackage.HW_DEVICE__SPEED_FACTOR:
+ return SPEED_FACTOR_EDEFAULT == null ? speedFactor != null : !SPEED_FACTOR_EDEFAULT.equals(speedFactor);
+ case HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER:
+ return mainScheduler != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ProcessingResource.class) {
+ switch (derivedFeatureID) {
+ case HwDevicePackage.HW_DEVICE__SPEED_FACTOR: return GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR;
+ case HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER: return GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == DeviceResource.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 == ProcessingResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR: return HwDevicePackage.HW_DEVICE__SPEED_FACTOR;
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER: return HwDevicePackage.HW_DEVICE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == DeviceResource.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (speedFactor: ");
+ result.append(speedFactor);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwDeviceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDevicePackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDevicePackageImpl.java
new file mode 100644
index 00000000000..a88432d7103
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwDevicePackageImpl.java
@@ -0,0 +1,517 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDeviceFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwDevicePackageImpl extends EPackageImpl implements HwDevicePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwDeviceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwI_OEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwSupportEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwActuatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwSensorEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwDevicePackageImpl() {
+ super(eNS_URI, HwDeviceFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwDevicePackage#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 HwDevicePackage init() {
+ if (isInited) return (HwDevicePackage)EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwDevicePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwDevicePackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwDevicePackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwDevicePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwDevicePackage.eNS_URI, theHwDevicePackage);
+ return theHwDevicePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwDevice() {
+ return hwDeviceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwI_O() {
+ return hwI_OEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwSupport() {
+ return hwSupportEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHWActuator() {
+ return hwActuatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHWSensor() {
+ return hwSensorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceFactory getHwDeviceFactory() {
+ return (HwDeviceFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwDeviceEClass = createEClass(HW_DEVICE);
+
+ hwI_OEClass = createEClass(HW_IO);
+
+ hwSupportEClass = createEClass(HW_SUPPORT);
+
+ hwActuatorEClass = createEClass(HW_ACTUATOR);
+
+ hwSensorEClass = createEClass(HW_SENSOR);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwDeviceEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwDeviceEClass.getESuperTypes().add(theGRMPackage.getDeviceResource());
+ hwI_OEClass.getESuperTypes().add(this.getHwDevice());
+ hwSupportEClass.getESuperTypes().add(this.getHwDevice());
+ hwActuatorEClass.getESuperTypes().add(this.getHwI_O());
+ hwSensorEClass.getESuperTypes().add(this.getHwI_O());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwDeviceEClass, HwDevice.class, "HwDevice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwI_OEClass, HwI_O.class, "HwI_O", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwSupportEClass, HwSupport.class, "HwSupport", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwActuatorEClass, HWActuator.class, "HWActuator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwSensorEClass, HWSensor.class, "HWSensor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ }
+
+} //HwDevicePackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwI_OImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwI_OImpl.java
new file mode 100644
index 00000000000..3b18f89079d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwI_OImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw IO</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwI_OImpl extends HwDeviceImpl implements HwI_O {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwI_OImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwDevicePackage.Literals.HW_IO;
+ }
+
+} //HwI_OImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwSupportImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwSupportImpl.java
new file mode 100644
index 00000000000..7faf529f3b6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/impl/HwSupportImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Support</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwSupportImpl extends HwDeviceImpl implements HwSupport {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwSupportImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwDevicePackage.Literals.HW_SUPPORT;
+ }
+
+} //HwSupportImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceAdapterFactory.java
new file mode 100644
index 00000000000..0b210061cb0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage
+ * @generated
+ */
+public class HwDeviceAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwDevicePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwDevicePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwDeviceSwitch<Adapter> modelSwitch =
+ new HwDeviceSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwDevice(HwDevice object) {
+ return createHwDeviceAdapter();
+ }
+ @Override
+ public Adapter caseHwI_O(HwI_O object) {
+ return createHwI_OAdapter();
+ }
+ @Override
+ public Adapter caseHwSupport(HwSupport object) {
+ return createHwSupportAdapter();
+ }
+ @Override
+ public Adapter caseHWActuator(HWActuator object) {
+ return createHWActuatorAdapter();
+ }
+ @Override
+ public Adapter caseHWSensor(HWSensor object) {
+ return createHWSensorAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseProcessingResource(ProcessingResource object) {
+ return createProcessingResourceAdapter();
+ }
+ @Override
+ public Adapter caseDeviceResource(DeviceResource object) {
+ return createDeviceResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice <em>Hw 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevice
+ * @generated
+ */
+ public Adapter createHwDeviceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O <em>Hw IO</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwI_O
+ * @generated
+ */
+ public Adapter createHwI_OAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport <em>Hw Support</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwSupport
+ * @generated
+ */
+ public Adapter createHwSupportAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator <em>HW 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWActuator
+ * @generated
+ */
+ public Adapter createHWActuatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor <em>HW 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HWSensor
+ * @generated
+ */
+ public Adapter createHWSensorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource <em>Processing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource
+ * @generated
+ */
+ public Adapter createProcessingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource <em>Device Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource
+ * @generated
+ */
+ public Adapter createDeviceResourceAdapter() {
+ 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;
+ }
+
+} //HwDeviceAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceFactoryImpl.java
new file mode 100644
index 00000000000..d263715e5c9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.util.HwDeviceResourceImpl
+ * @generated
+ */
+public class HwDeviceResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwDeviceResourceImpl(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;
+ }
+
+} //HwDeviceResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceImpl.java
new file mode 100644
index 00000000000..aecd9bf354d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.util.HwDeviceResourceFactoryImpl
+ * @generated
+ */
+public class HwDeviceResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwDeviceResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwDeviceResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceSwitch.java
new file mode 100644
index 00000000000..cfbafc78dd6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceSwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage
+ * @generated
+ */
+public class HwDeviceSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwDevicePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwDevicePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwDevicePackage.HW_DEVICE: {
+ HwDevice hwDevice = (HwDevice)theEObject;
+ T result = caseHwDevice(hwDevice);
+ if (result == null) result = caseHwResource(hwDevice);
+ if (result == null) result = caseDeviceResource(hwDevice);
+ if (result == null) result = caseProcessingResource(hwDevice);
+ if (result == null) result = caseResource(hwDevice);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwDevicePackage.HW_IO: {
+ HwI_O hwI_O = (HwI_O)theEObject;
+ T result = caseHwI_O(hwI_O);
+ if (result == null) result = caseHwDevice(hwI_O);
+ if (result == null) result = caseHwResource(hwI_O);
+ if (result == null) result = caseDeviceResource(hwI_O);
+ if (result == null) result = caseProcessingResource(hwI_O);
+ if (result == null) result = caseResource(hwI_O);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwDevicePackage.HW_SUPPORT: {
+ HwSupport hwSupport = (HwSupport)theEObject;
+ T result = caseHwSupport(hwSupport);
+ if (result == null) result = caseHwDevice(hwSupport);
+ if (result == null) result = caseHwResource(hwSupport);
+ if (result == null) result = caseDeviceResource(hwSupport);
+ if (result == null) result = caseProcessingResource(hwSupport);
+ if (result == null) result = caseResource(hwSupport);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwDevicePackage.HW_ACTUATOR: {
+ HWActuator hwActuator = (HWActuator)theEObject;
+ T result = caseHWActuator(hwActuator);
+ if (result == null) result = caseHwI_O(hwActuator);
+ if (result == null) result = caseHwDevice(hwActuator);
+ if (result == null) result = caseHwResource(hwActuator);
+ if (result == null) result = caseDeviceResource(hwActuator);
+ if (result == null) result = caseProcessingResource(hwActuator);
+ if (result == null) result = caseResource(hwActuator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwDevicePackage.HW_SENSOR: {
+ HWSensor hwSensor = (HWSensor)theEObject;
+ T result = caseHWSensor(hwSensor);
+ if (result == null) result = caseHwI_O(hwSensor);
+ if (result == null) result = caseHwDevice(hwSensor);
+ if (result == null) result = caseHwResource(hwSensor);
+ if (result == null) result = caseDeviceResource(hwSensor);
+ if (result == null) result = caseProcessingResource(hwSensor);
+ if (result == null) result = caseResource(hwSensor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw 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>Hw Device</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwDevice(HwDevice object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw IO</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw IO</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwI_O(HwI_O object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Support</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Support</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwSupport(HwSupport object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>HW 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>HW Actuator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHWActuator(HWActuator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>HW 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>HW Sensor</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHWSensor(HWSensor object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessingResource(ProcessingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Device Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Device Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeviceResource(DeviceResource 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwDeviceSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceXMLProcessor.java
new file mode 100644
index 00000000000..e551058285a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwDevice/util/HwDeviceXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwDeviceXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDeviceXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwDevicePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwDeviceResourceFactoryImpl 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 HwDeviceResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwDeviceResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwDeviceXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType.java
new file mode 100644
index 00000000000..82bec9f37f4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/CacheType.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+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>Cache Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getCacheType()
+ * @model
+ * @generated
+ */
+public enum CacheType implements Enumerator {
+ /**
+ * The '<em><b>Data</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DATA_VALUE
+ * @generated
+ * @ordered
+ */
+ DATA(0, "data", "data"),
+
+ /**
+ * The '<em><b>Instruction</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INSTRUCTION_VALUE
+ * @generated
+ * @ordered
+ */
+ INSTRUCTION(1, "instruction", "instruction"),
+
+ /**
+ * The '<em><b>Unified</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNIFIED_VALUE
+ * @generated
+ * @ordered
+ */
+ UNIFIED(2, "unified", "unified"),
+
+ /**
+ * 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>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(4, "undef", "undef");
+
+ /**
+ * The '<em><b>Data</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Data</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DATA
+ * @model name="data"
+ * @generated
+ * @ordered
+ */
+ public static final int DATA_VALUE = 0;
+
+ /**
+ * The '<em><b>Instruction</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Instruction</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INSTRUCTION
+ * @model name="instruction"
+ * @generated
+ * @ordered
+ */
+ public static final int INSTRUCTION_VALUE = 1;
+
+ /**
+ * The '<em><b>Unified</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Unified</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNIFIED
+ * @model name="unified"
+ * @generated
+ * @ordered
+ */
+ public static final int UNIFIED_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 name="other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Cache Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final CacheType[] VALUES_ARRAY =
+ new CacheType[] {
+ DATA,
+ INSTRUCTION,
+ UNIFIED,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Cache Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<CacheType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Cache Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CacheType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Cache Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ CacheType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Cache Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CacheType get(int value) {
+ switch (value) {
+ case DATA_VALUE: return DATA;
+ case INSTRUCTION_VALUE: return INSTRUCTION;
+ case UNIFIED_VALUE: return UNIFIED;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 CacheType(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;
+ }
+
+} //CacheType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache.java
new file mode 100644
index 00000000000..de5edb00479
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwCache.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Cache</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getLevel <em>Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getStructure <em>Structure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getRepl_Policy <em>Repl Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getWritePolicy <em>Write Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache()
+ * @model
+ * @generated
+ */
+public interface HwCache extends HwMemory {
+ /**
+ * Returns the value of the '<em><b>Level</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Level</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Level</em>' attribute.
+ * @see #setLevel(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache_Level()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getLevel();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getLevel <em>Level</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Level</em>' attribute.
+ * @see #getLevel()
+ * @generated
+ */
+ void setLevel(String value);
+
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType
+ * @see #setType(CacheType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache_Type()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ CacheType getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType
+ * @see #getType()
+ * @generated
+ */
+ void setType(CacheType value);
+
+ /**
+ * Returns the value of the '<em><b>Structure</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Structure</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Structure</em>' attribute.
+ * @see #setStructure(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache_Structure()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheStructure" ordered="false"
+ * @generated
+ */
+ String getStructure();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getStructure <em>Structure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Structure</em>' attribute.
+ * @see #getStructure()
+ * @generated
+ */
+ void setStructure(String value);
+
+ /**
+ * Returns the value of the '<em><b>Repl Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repl Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repl Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see #setRepl_Policy(Repl_Policy)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache_Repl_Policy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ Repl_Policy getRepl_Policy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getRepl_Policy <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repl Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see #getRepl_Policy()
+ * @generated
+ */
+ void setRepl_Policy(Repl_Policy value);
+
+ /**
+ * Returns the value of the '<em><b>Write Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see #setWritePolicy(WritePolicy)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwCache_WritePolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ WritePolicy getWritePolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getWritePolicy <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see #getWritePolicy()
+ * @generated
+ */
+ void setWritePolicy(WritePolicy value);
+
+} // HwCache
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive.java
new file mode 100644
index 00000000000..ad57e93de3c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwDrive.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Drive</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getSectorSize <em>Sector Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getBuffer <em>Buffer</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwDrive()
+ * @model
+ * @generated
+ */
+public interface HwDrive extends HwMemory {
+ /**
+ * Returns the value of the '<em><b>Sector Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sector Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Sector Size</em>' attribute.
+ * @see #setSectorSize(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwDrive_SectorSize()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getSectorSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getSectorSize <em>Sector Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Sector Size</em>' attribute.
+ * @see #getSectorSize()
+ * @generated
+ */
+ void setSectorSize(String value);
+
+ /**
+ * Returns the value of the '<em><b>Buffer</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Buffer</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Buffer</em>' reference.
+ * @see #setBuffer(HwRAM)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwDrive_Buffer()
+ * @model ordered="false"
+ * @generated
+ */
+ HwRAM getBuffer();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getBuffer <em>Buffer</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Buffer</em>' reference.
+ * @see #getBuffer()
+ * @generated
+ */
+ void setBuffer(HwRAM value);
+
+} // HwDrive
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory.java
new file mode 100644
index 00000000000..0060eded90d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Memory</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getMemorySize <em>Memory Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getAdressSize <em>Adress Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getTimings <em>Timings</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getThroughput <em>Throughput</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwMemory()
+ * @model
+ * @generated
+ */
+public interface HwMemory extends HwResource, StorageResource {
+ /**
+ * Returns the value of the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Size</em>' attribute.
+ * @see #setMemorySize(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwMemory_MemorySize()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getMemorySize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getMemorySize <em>Memory Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory Size</em>' attribute.
+ * @see #getMemorySize()
+ * @generated
+ */
+ void setMemorySize(String value);
+
+ /**
+ * Returns the value of the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Adress Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Adress Size</em>' attribute.
+ * @see #setAdressSize(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwMemory_AdressSize()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getAdressSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getAdressSize <em>Adress Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Adress Size</em>' attribute.
+ * @see #getAdressSize()
+ * @generated
+ */
+ void setAdressSize(String value);
+
+ /**
+ * Returns the value of the '<em><b>Timings</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timings</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Timings</em>' attribute list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwMemory_Timings()
+ * @model dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Timing" ordered="false"
+ * @generated
+ */
+ EList<String> getTimings();
+
+ /**
+ * Returns the value of the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Throughput</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Throughput</em>' attribute.
+ * @see #setThroughput(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwMemory_Throughput()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataTxRate" ordered="false"
+ * @generated
+ */
+ String getThroughput();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getThroughput <em>Throughput</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Throughput</em>' attribute.
+ * @see #getThroughput()
+ * @generated
+ */
+ void setThroughput(String value);
+
+} // HwMemory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryFactory.java
new file mode 100644
index 00000000000..d1c18047849
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage
+ * @generated
+ */
+public interface HwMemoryFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwMemoryFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Memory</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Memory</em>'.
+ * @generated
+ */
+ HwMemory createHwMemory();
+
+ /**
+ * Returns a new object of class '<em>Hw RAM</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw RAM</em>'.
+ * @generated
+ */
+ HwRAM createHwRAM();
+
+ /**
+ * Returns a new object of class '<em>Hw ROM</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw ROM</em>'.
+ * @generated
+ */
+ HwROM createHwROM();
+
+ /**
+ * Returns a new object of class '<em>Hw Drive</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Drive</em>'.
+ * @generated
+ */
+ HwDrive createHwDrive();
+
+ /**
+ * Returns a new object of class '<em>Hw Cache</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Cache</em>'.
+ * @generated
+ */
+ HwCache createHwCache();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwMemoryPackage getHwMemoryPackage();
+
+} //HwMemoryFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryPackage.java
new file mode 100644
index 00000000000..f9913550530
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwMemoryPackage.java
@@ -0,0 +1,1857 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwMemoryPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwMemory";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwMemory/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwMemory";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwMemoryPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl <em>Hw Memory</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwMemory()
+ * @generated
+ */
+ int HW_MEMORY = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__ELEMENT_SIZE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__MEMORY_SIZE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__ADRESS_SIZE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Timings</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__TIMINGS = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY__THROUGHPUT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Hw Memory</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MEMORY_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl <em>Hw RAM</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwRAM()
+ * @generated
+ */
+ int HW_RAM = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__RES_MULT = HW_MEMORY__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__IS_PROTECTED = HW_MEMORY__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__IS_ACTIVE = HW_MEMORY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__BASE_PROPERTY = HW_MEMORY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__BASE_INSTANCE_SPECIFICATION = HW_MEMORY__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__BASE_CLASSIFIER = HW_MEMORY__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__BASE_LIFELINE = HW_MEMORY__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__BASE_CONNECTABLE_ELEMENT = HW_MEMORY__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__DESCRIPTION = HW_MEMORY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__PHW_SERVICES = HW_MEMORY__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__RHW_SERVICES = HW_MEMORY__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__OWNED_HW = HW_MEMORY__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__END_POINTS = HW_MEMORY__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__FREQUENCY = HW_MEMORY__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__ELEMENT_SIZE = HW_MEMORY__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__MEMORY_SIZE = HW_MEMORY__MEMORY_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__ADRESS_SIZE = HW_MEMORY__ADRESS_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Timings</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__TIMINGS = HW_MEMORY__TIMINGS;
+
+ /**
+ * The feature id for the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__THROUGHPUT = HW_MEMORY__THROUGHPUT;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__ORGANIZATION = HW_MEMORY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Synchronous</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__IS_SYNCHRONOUS = HW_MEMORY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Static</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__IS_STATIC = HW_MEMORY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Non Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__IS_NON_VOLATILE = HW_MEMORY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Repl Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__REPL_POLICY = HW_MEMORY_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Write Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM__WRITE_POLICY = HW_MEMORY_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Hw RAM</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_RAM_FEATURE_COUNT = HW_MEMORY_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl <em>Hw ROM</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwROM()
+ * @generated
+ */
+ int HW_ROM = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__RES_MULT = HW_MEMORY__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__IS_PROTECTED = HW_MEMORY__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__IS_ACTIVE = HW_MEMORY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__BASE_PROPERTY = HW_MEMORY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__BASE_INSTANCE_SPECIFICATION = HW_MEMORY__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__BASE_CLASSIFIER = HW_MEMORY__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__BASE_LIFELINE = HW_MEMORY__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__BASE_CONNECTABLE_ELEMENT = HW_MEMORY__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__DESCRIPTION = HW_MEMORY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__PHW_SERVICES = HW_MEMORY__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__RHW_SERVICES = HW_MEMORY__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__OWNED_HW = HW_MEMORY__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__END_POINTS = HW_MEMORY__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__FREQUENCY = HW_MEMORY__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__ELEMENT_SIZE = HW_MEMORY__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__MEMORY_SIZE = HW_MEMORY__MEMORY_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__ADRESS_SIZE = HW_MEMORY__ADRESS_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Timings</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__TIMINGS = HW_MEMORY__TIMINGS;
+
+ /**
+ * The feature id for the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__THROUGHPUT = HW_MEMORY__THROUGHPUT;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__TYPE = HW_MEMORY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM__ORGANIZATION = HW_MEMORY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw ROM</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_ROM_FEATURE_COUNT = HW_MEMORY_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl <em>Hw Drive</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwDrive()
+ * @generated
+ */
+ int HW_DRIVE = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__RES_MULT = HW_MEMORY__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__IS_PROTECTED = HW_MEMORY__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__IS_ACTIVE = HW_MEMORY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BASE_PROPERTY = HW_MEMORY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BASE_INSTANCE_SPECIFICATION = HW_MEMORY__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BASE_CLASSIFIER = HW_MEMORY__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BASE_LIFELINE = HW_MEMORY__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BASE_CONNECTABLE_ELEMENT = HW_MEMORY__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__DESCRIPTION = HW_MEMORY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__PHW_SERVICES = HW_MEMORY__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__RHW_SERVICES = HW_MEMORY__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__OWNED_HW = HW_MEMORY__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__END_POINTS = HW_MEMORY__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__FREQUENCY = HW_MEMORY__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__ELEMENT_SIZE = HW_MEMORY__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__MEMORY_SIZE = HW_MEMORY__MEMORY_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__ADRESS_SIZE = HW_MEMORY__ADRESS_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Timings</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__TIMINGS = HW_MEMORY__TIMINGS;
+
+ /**
+ * The feature id for the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__THROUGHPUT = HW_MEMORY__THROUGHPUT;
+
+ /**
+ * The feature id for the '<em><b>Sector Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__SECTOR_SIZE = HW_MEMORY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Buffer</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE__BUFFER = HW_MEMORY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw Drive</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DRIVE_FEATURE_COUNT = HW_MEMORY_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl <em>Hw Cache</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwCache()
+ * @generated
+ */
+ int HW_CACHE = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__RES_MULT = HW_MEMORY__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__IS_PROTECTED = HW_MEMORY__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__IS_ACTIVE = HW_MEMORY__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__BASE_PROPERTY = HW_MEMORY__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__BASE_INSTANCE_SPECIFICATION = HW_MEMORY__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__BASE_CLASSIFIER = HW_MEMORY__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__BASE_LIFELINE = HW_MEMORY__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__BASE_CONNECTABLE_ELEMENT = HW_MEMORY__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__DESCRIPTION = HW_MEMORY__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__PHW_SERVICES = HW_MEMORY__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__RHW_SERVICES = HW_MEMORY__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__OWNED_HW = HW_MEMORY__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__END_POINTS = HW_MEMORY__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__FREQUENCY = HW_MEMORY__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__ELEMENT_SIZE = HW_MEMORY__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Memory Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__MEMORY_SIZE = HW_MEMORY__MEMORY_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Adress Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__ADRESS_SIZE = HW_MEMORY__ADRESS_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Timings</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__TIMINGS = HW_MEMORY__TIMINGS;
+
+ /**
+ * The feature id for the '<em><b>Throughput</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__THROUGHPUT = HW_MEMORY__THROUGHPUT;
+
+ /**
+ * The feature id for the '<em><b>Level</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__LEVEL = HW_MEMORY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__TYPE = HW_MEMORY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Structure</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__STRUCTURE = HW_MEMORY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Repl Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__REPL_POLICY = HW_MEMORY_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Write Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE__WRITE_POLICY = HW_MEMORY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Hw Cache</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CACHE_FEATURE_COUNT = HW_MEMORY_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy <em>Repl Policy</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getRepl_Policy()
+ * @generated
+ */
+ int REPL_POLICY = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy <em>Write Policy</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getWritePolicy()
+ * @generated
+ */
+ int WRITE_POLICY = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType <em>Cache Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getCacheType()
+ * @generated
+ */
+ int CACHE_TYPE = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type <em>ROM Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getROM_Type()
+ * @generated
+ */
+ int ROM_TYPE = 8;
+
+ /**
+ * The meta object id for the '<em>Timing</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getTiming()
+ * @generated
+ */
+ int TIMING = 9;
+
+ /**
+ * The meta object id for the '<em>Cache Structure</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getCacheStructure()
+ * @generated
+ */
+ int CACHE_STRUCTURE = 10;
+
+ /**
+ * The meta object id for the '<em>Memory Organization</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getMemoryOrganization()
+ * @generated
+ */
+ int MEMORY_ORGANIZATION = 11;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory <em>Hw Memory</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Memory</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory
+ * @generated
+ */
+ EClass getHwMemory();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getMemorySize <em>Memory Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Memory Size</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getMemorySize()
+ * @see #getHwMemory()
+ * @generated
+ */
+ EAttribute getHwMemory_MemorySize();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getAdressSize <em>Adress Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Adress Size</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getAdressSize()
+ * @see #getHwMemory()
+ * @generated
+ */
+ EAttribute getHwMemory_AdressSize();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getTimings <em>Timings</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Timings</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getTimings()
+ * @see #getHwMemory()
+ * @generated
+ */
+ EAttribute getHwMemory_Timings();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getThroughput <em>Throughput</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Throughput</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory#getThroughput()
+ * @see #getHwMemory()
+ * @generated
+ */
+ EAttribute getHwMemory_Throughput();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM <em>Hw RAM</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw RAM</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM
+ * @generated
+ */
+ EClass getHwRAM();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Organization</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getOrganization()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_Organization();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsSynchronous <em>Is Synchronous</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Synchronous</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsSynchronous()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_IsSynchronous();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsStatic <em>Is Static</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Static</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsStatic()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_IsStatic();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsNonVolatile <em>Is Non Volatile</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Non Volatile</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsNonVolatile()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_IsNonVolatile();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getRepl_Policy <em>Repl Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repl Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getRepl_Policy()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_Repl_Policy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getWritePolicy <em>Write Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Write Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getWritePolicy()
+ * @see #getHwRAM()
+ * @generated
+ */
+ EAttribute getHwRAM_WritePolicy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM <em>Hw ROM</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw ROM</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM
+ * @generated
+ */
+ EClass getHwROM();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getType()
+ * @see #getHwROM()
+ * @generated
+ */
+ EAttribute getHwROM_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getOrganization <em>Organization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Organization</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getOrganization()
+ * @see #getHwROM()
+ * @generated
+ */
+ EAttribute getHwROM_Organization();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive <em>Hw Drive</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Drive</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive
+ * @generated
+ */
+ EClass getHwDrive();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getSectorSize <em>Sector Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Sector Size</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getSectorSize()
+ * @see #getHwDrive()
+ * @generated
+ */
+ EAttribute getHwDrive_SectorSize();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getBuffer <em>Buffer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Buffer</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive#getBuffer()
+ * @see #getHwDrive()
+ * @generated
+ */
+ EReference getHwDrive_Buffer();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache <em>Hw Cache</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Cache</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache
+ * @generated
+ */
+ EClass getHwCache();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getLevel <em>Level</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Level</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getLevel()
+ * @see #getHwCache()
+ * @generated
+ */
+ EAttribute getHwCache_Level();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getType()
+ * @see #getHwCache()
+ * @generated
+ */
+ EAttribute getHwCache_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getStructure <em>Structure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Structure</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getStructure()
+ * @see #getHwCache()
+ * @generated
+ */
+ EAttribute getHwCache_Structure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getRepl_Policy <em>Repl Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repl Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getRepl_Policy()
+ * @see #getHwCache()
+ * @generated
+ */
+ EAttribute getHwCache_Repl_Policy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getWritePolicy <em>Write Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Write Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache#getWritePolicy()
+ * @see #getHwCache()
+ * @generated
+ */
+ EAttribute getHwCache_WritePolicy();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy <em>Repl Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Repl Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @generated
+ */
+ EEnum getRepl_Policy();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy <em>Write Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Write Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @generated
+ */
+ EEnum getWritePolicy();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType <em>Cache Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Cache Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType
+ * @generated
+ */
+ EEnum getCacheType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type <em>ROM Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>ROM Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type
+ * @generated
+ */
+ EEnum getROM_Type();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Timing</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Timing</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getTiming();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Cache Structure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Cache Structure</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getCacheStructure();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Memory Organization</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Memory Organization</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getMemoryOrganization();
+
+ /**
+ * 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
+ */
+ HwMemoryFactory getHwMemoryFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl <em>Hw Memory</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwMemory()
+ * @generated
+ */
+ EClass HW_MEMORY = eINSTANCE.getHwMemory();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MEMORY__MEMORY_SIZE = eINSTANCE.getHwMemory_MemorySize();
+
+ /**
+ * The meta object literal for the '<em><b>Adress Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MEMORY__ADRESS_SIZE = eINSTANCE.getHwMemory_AdressSize();
+
+ /**
+ * The meta object literal for the '<em><b>Timings</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MEMORY__TIMINGS = eINSTANCE.getHwMemory_Timings();
+
+ /**
+ * The meta object literal for the '<em><b>Throughput</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MEMORY__THROUGHPUT = eINSTANCE.getHwMemory_Throughput();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl <em>Hw RAM</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwRAM()
+ * @generated
+ */
+ EClass HW_RAM = eINSTANCE.getHwRAM();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__ORGANIZATION = eINSTANCE.getHwRAM_Organization();
+
+ /**
+ * The meta object literal for the '<em><b>Is Synchronous</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__IS_SYNCHRONOUS = eINSTANCE.getHwRAM_IsSynchronous();
+
+ /**
+ * The meta object literal for the '<em><b>Is Static</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__IS_STATIC = eINSTANCE.getHwRAM_IsStatic();
+
+ /**
+ * The meta object literal for the '<em><b>Is Non Volatile</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__IS_NON_VOLATILE = eINSTANCE.getHwRAM_IsNonVolatile();
+
+ /**
+ * The meta object literal for the '<em><b>Repl Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__REPL_POLICY = eINSTANCE.getHwRAM_Repl_Policy();
+
+ /**
+ * The meta object literal for the '<em><b>Write Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_RAM__WRITE_POLICY = eINSTANCE.getHwRAM_WritePolicy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl <em>Hw ROM</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwROM()
+ * @generated
+ */
+ EClass HW_ROM = eINSTANCE.getHwROM();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_ROM__TYPE = eINSTANCE.getHwROM_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Organization</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_ROM__ORGANIZATION = eINSTANCE.getHwROM_Organization();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl <em>Hw Drive</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwDrive()
+ * @generated
+ */
+ EClass HW_DRIVE = eINSTANCE.getHwDrive();
+
+ /**
+ * The meta object literal for the '<em><b>Sector Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_DRIVE__SECTOR_SIZE = eINSTANCE.getHwDrive_SectorSize();
+
+ /**
+ * The meta object literal for the '<em><b>Buffer</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_DRIVE__BUFFER = eINSTANCE.getHwDrive_Buffer();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl <em>Hw Cache</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getHwCache()
+ * @generated
+ */
+ EClass HW_CACHE = eINSTANCE.getHwCache();
+
+ /**
+ * The meta object literal for the '<em><b>Level</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_CACHE__LEVEL = eINSTANCE.getHwCache_Level();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_CACHE__TYPE = eINSTANCE.getHwCache_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Structure</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_CACHE__STRUCTURE = eINSTANCE.getHwCache_Structure();
+
+ /**
+ * The meta object literal for the '<em><b>Repl Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_CACHE__REPL_POLICY = eINSTANCE.getHwCache_Repl_Policy();
+
+ /**
+ * The meta object literal for the '<em><b>Write Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_CACHE__WRITE_POLICY = eINSTANCE.getHwCache_WritePolicy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy <em>Repl Policy</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getRepl_Policy()
+ * @generated
+ */
+ EEnum REPL_POLICY = eINSTANCE.getRepl_Policy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy <em>Write Policy</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getWritePolicy()
+ * @generated
+ */
+ EEnum WRITE_POLICY = eINSTANCE.getWritePolicy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType <em>Cache Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getCacheType()
+ * @generated
+ */
+ EEnum CACHE_TYPE = eINSTANCE.getCacheType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type <em>ROM Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getROM_Type()
+ * @generated
+ */
+ EEnum ROM_TYPE = eINSTANCE.getROM_Type();
+
+ /**
+ * The meta object literal for the '<em>Timing</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getTiming()
+ * @generated
+ */
+ EDataType TIMING = eINSTANCE.getTiming();
+
+ /**
+ * The meta object literal for the '<em>Cache Structure</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getCacheStructure()
+ * @generated
+ */
+ EDataType CACHE_STRUCTURE = eINSTANCE.getCacheStructure();
+
+ /**
+ * The meta object literal for the '<em>Memory Organization</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl#getMemoryOrganization()
+ * @generated
+ */
+ EDataType MEMORY_ORGANIZATION = eINSTANCE.getMemoryOrganization();
+
+ }
+
+} //HwMemoryPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM.java
new file mode 100644
index 00000000000..80c456c036a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwRAM.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw RAM</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getOrganization <em>Organization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsSynchronous <em>Is Synchronous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsStatic <em>Is Static</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsNonVolatile <em>Is Non Volatile</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getRepl_Policy <em>Repl Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getWritePolicy <em>Write Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM()
+ * @model
+ * @generated
+ */
+public interface HwRAM extends HwMemory {
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Organization</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Organization</em>' attribute.
+ * @see #setOrganization(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_Organization()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.MemoryOrganization" ordered="false"
+ * @generated
+ */
+ String getOrganization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getOrganization <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Organization</em>' attribute.
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Synchronous</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Synchronous</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 Synchronous</em>' attribute.
+ * @see #setIsSynchronous(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_IsSynchronous()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getIsSynchronous();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsSynchronous <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Synchronous</em>' attribute.
+ * @see #getIsSynchronous()
+ * @generated
+ */
+ void setIsSynchronous(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Static</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Static</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 Static</em>' attribute.
+ * @see #setIsStatic(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_IsStatic()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getIsStatic();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsStatic <em>Is Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Static</em>' attribute.
+ * @see #getIsStatic()
+ * @generated
+ */
+ void setIsStatic(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Non Volatile</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Non Volatile</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 Non Volatile</em>' attribute.
+ * @see #setIsNonVolatile(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_IsNonVolatile()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getIsNonVolatile();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getIsNonVolatile <em>Is Non Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Non Volatile</em>' attribute.
+ * @see #getIsNonVolatile()
+ * @generated
+ */
+ void setIsNonVolatile(String value);
+
+ /**
+ * Returns the value of the '<em><b>Repl Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repl Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repl Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see #setRepl_Policy(Repl_Policy)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_Repl_Policy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ Repl_Policy getRepl_Policy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getRepl_Policy <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repl Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy
+ * @see #getRepl_Policy()
+ * @generated
+ */
+ void setRepl_Policy(Repl_Policy value);
+
+ /**
+ * Returns the value of the '<em><b>Write Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see #setWritePolicy(WritePolicy)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwRAM_WritePolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ WritePolicy getWritePolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM#getWritePolicy <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Write Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy
+ * @see #getWritePolicy()
+ * @generated
+ */
+ void setWritePolicy(WritePolicy value);
+
+} // HwRAM
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM.java
new file mode 100644
index 00000000000..c0668bfb829
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/HwROM.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw ROM</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getOrganization <em>Organization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwROM()
+ * @model
+ * @generated
+ */
+public interface HwROM extends HwMemory {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type
+ * @see #setType(ROM_Type)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwROM_Type()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ ROM_Type getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type
+ * @see #getType()
+ * @generated
+ */
+ void setType(ROM_Type value);
+
+ /**
+ * Returns the value of the '<em><b>Organization</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Organization</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Organization</em>' attribute.
+ * @see #setOrganization(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getHwROM_Organization()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.MemoryOrganization" ordered="false"
+ * @generated
+ */
+ String getOrganization();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM#getOrganization <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Organization</em>' attribute.
+ * @see #getOrganization()
+ * @generated
+ */
+ void setOrganization(String value);
+
+} // HwROM
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type.java
new file mode 100644
index 00000000000..db83986a1ad
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/ROM_Type.java
@@ -0,0 +1,354 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+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>ROM Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getROM_Type()
+ * @model
+ * @generated
+ */
+public enum ROM_Type implements Enumerator {
+ /**
+ * The '<em><b>Masked ROM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MASKED_ROM_VALUE
+ * @generated
+ * @ordered
+ */
+ MASKED_ROM(0, "maskedROM", "maskedROM"),
+
+ /**
+ * The '<em><b>EPROM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EPROM_VALUE
+ * @generated
+ * @ordered
+ */
+ EPROM(1, "EPROM", "EPROM"),
+
+ /**
+ * The '<em><b>OTP EPROM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTP_EPROM_VALUE
+ * @generated
+ * @ordered
+ */
+ OTP_EPROM(2, "OTP_EPROM", "OTP_EPROM"),
+
+ /**
+ * The '<em><b>EEPROM</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EEPROM_VALUE
+ * @generated
+ * @ordered
+ */
+ EEPROM(3, "EEPROM", "EEPROM"),
+
+ /**
+ * The '<em><b>Flash</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FLASH_VALUE
+ * @generated
+ * @ordered
+ */
+ FLASH(4, "Flash", "Flash"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(5, "other", "other"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(6, "undef", "undef");
+
+ /**
+ * The '<em><b>Masked ROM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Masked ROM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MASKED_ROM
+ * @model name="maskedROM"
+ * @generated
+ * @ordered
+ */
+ public static final int MASKED_ROM_VALUE = 0;
+
+ /**
+ * The '<em><b>EPROM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EPROM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EPROM
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EPROM_VALUE = 1;
+
+ /**
+ * The '<em><b>OTP EPROM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>OTP EPROM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTP_EPROM
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int OTP_EPROM_VALUE = 2;
+
+ /**
+ * The '<em><b>EEPROM</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EEPROM</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EEPROM
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int EEPROM_VALUE = 3;
+
+ /**
+ * The '<em><b>Flash</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Flash</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FLASH
+ * @model name="Flash"
+ * @generated
+ * @ordered
+ */
+ public static final int FLASH_VALUE = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 6;
+
+ /**
+ * An array of all the '<em><b>ROM Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ROM_Type[] VALUES_ARRAY =
+ new ROM_Type[] {
+ MASKED_ROM,
+ EPROM,
+ OTP_EPROM,
+ EEPROM,
+ FLASH,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>ROM Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ROM_Type> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>ROM Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ROM_Type get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ROM_Type result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ROM Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ROM_Type getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ROM_Type result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ROM Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ROM_Type get(int value) {
+ switch (value) {
+ case MASKED_ROM_VALUE: return MASKED_ROM;
+ case EPROM_VALUE: return EPROM;
+ case OTP_EPROM_VALUE: return OTP_EPROM;
+ case EEPROM_VALUE: return EEPROM;
+ case FLASH_VALUE: return FLASH;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 ROM_Type(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;
+ }
+
+} //ROM_Type
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy.java
new file mode 100644
index 00000000000..e675ceedfab
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/Repl_Policy.java
@@ -0,0 +1,327 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+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>Repl Policy</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getRepl_Policy()
+ * @model
+ * @generated
+ */
+public enum Repl_Policy implements Enumerator {
+ /**
+ * The '<em><b>LRU</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LRU_VALUE
+ * @generated
+ * @ordered
+ */
+ LRU(0, "LRU", "LRU"),
+
+ /**
+ * The '<em><b>NFU</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NFU_VALUE
+ * @generated
+ * @ordered
+ */
+ NFU(1, "NFU", "NFU"),
+
+ /**
+ * The '<em><b>FIFO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIFO_VALUE
+ * @generated
+ * @ordered
+ */
+ FIFO(2, "FIFO", "FIFO"),
+
+ /**
+ * The '<em><b>Random</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #RANDOM_VALUE
+ * @generated
+ * @ordered
+ */
+ RANDOM(3, "random", "random"),
+
+ /**
+ * 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>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(5, "undef", "undef");
+
+ /**
+ * The '<em><b>LRU</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LRU</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LRU
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int LRU_VALUE = 0;
+
+ /**
+ * The '<em><b>NFU</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NFU</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NFU
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int NFU_VALUE = 1;
+
+ /**
+ * The '<em><b>FIFO</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIFO</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIFO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int FIFO_VALUE = 2;
+
+ /**
+ * The '<em><b>Random</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Random</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #RANDOM
+ * @model name="random"
+ * @generated
+ * @ordered
+ */
+ public static final int RANDOM_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>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 5;
+
+ /**
+ * An array of all the '<em><b>Repl Policy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Repl_Policy[] VALUES_ARRAY =
+ new Repl_Policy[] {
+ LRU,
+ NFU,
+ FIFO,
+ RANDOM,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Repl Policy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Repl_Policy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Repl Policy</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Repl_Policy get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Repl_Policy result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repl Policy</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Repl_Policy getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Repl_Policy result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repl Policy</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Repl_Policy get(int value) {
+ switch (value) {
+ case LRU_VALUE: return LRU;
+ case NFU_VALUE: return NFU;
+ case FIFO_VALUE: return FIFO;
+ case RANDOM_VALUE: return RANDOM;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 Repl_Policy(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;
+ }
+
+} //Repl_Policy
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy.java
new file mode 100644
index 00000000000..456736f2eeb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/WritePolicy.java
@@ -0,0 +1,273 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory;
+
+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>Write Policy</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#getWritePolicy()
+ * @model
+ * @generated
+ */
+public enum WritePolicy implements Enumerator {
+ /**
+ * The '<em><b>Write Back</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WRITE_BACK_VALUE
+ * @generated
+ * @ordered
+ */
+ WRITE_BACK(0, "writeBack", "writeBack"),
+
+ /**
+ * The '<em><b>Write Through</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WRITE_THROUGH_VALUE
+ * @generated
+ * @ordered
+ */
+ WRITE_THROUGH(1, "writeThrough", "writeThrough"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(2, "other", "other"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "undef", "undef");
+
+ /**
+ * The '<em><b>Write Back</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Write Back</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #WRITE_BACK
+ * @model name="writeBack"
+ * @generated
+ * @ordered
+ */
+ public static final int WRITE_BACK_VALUE = 0;
+
+ /**
+ * The '<em><b>Write Through</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Write Through</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #WRITE_THROUGH
+ * @model name="writeThrough"
+ * @generated
+ * @ordered
+ */
+ public static final int WRITE_THROUGH_VALUE = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Write Policy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final WritePolicy[] VALUES_ARRAY =
+ new WritePolicy[] {
+ WRITE_BACK,
+ WRITE_THROUGH,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Write Policy</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<WritePolicy> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Write Policy</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static WritePolicy get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ WritePolicy result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Write Policy</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static WritePolicy getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ WritePolicy result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Write Policy</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static WritePolicy get(int value) {
+ switch (value) {
+ case WRITE_BACK_VALUE: return WRITE_BACK;
+ case WRITE_THROUGH_VALUE: return WRITE_THROUGH;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 WritePolicy(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;
+ }
+
+} //WritePolicy
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwCacheImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwCacheImpl.java
new file mode 100644
index 00000000000..07acbe87eb3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwCacheImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Cache</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl#getLevel <em>Level</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl#getStructure <em>Structure</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl#getRepl_Policy <em>Repl Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwCacheImpl#getWritePolicy <em>Write Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwCacheImpl extends HwMemoryImpl implements HwCache {
+ /**
+ * The default value of the '{@link #getLevel() <em>Level</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLevel()
+ * @generated
+ * @ordered
+ */
+ protected static final String LEVEL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLevel() <em>Level</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLevel()
+ * @generated
+ * @ordered
+ */
+ protected String level = LEVEL_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 CacheType TYPE_EDEFAULT = CacheType.DATA;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected CacheType type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStructure() <em>Structure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructure()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRUCTURE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStructure() <em>Structure</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStructure()
+ * @generated
+ * @ordered
+ */
+ protected String structure = STRUCTURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRepl_Policy() <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepl_Policy()
+ * @generated
+ * @ordered
+ */
+ protected static final Repl_Policy REPL_POLICY_EDEFAULT = Repl_Policy.LRU;
+
+ /**
+ * The cached value of the '{@link #getRepl_Policy() <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepl_Policy()
+ * @generated
+ * @ordered
+ */
+ protected Repl_Policy repl_Policy = REPL_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWritePolicy() <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWritePolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final WritePolicy WRITE_POLICY_EDEFAULT = WritePolicy.WRITE_BACK;
+
+ /**
+ * The cached value of the '{@link #getWritePolicy() <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWritePolicy()
+ * @generated
+ * @ordered
+ */
+ protected WritePolicy writePolicy = WRITE_POLICY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwCacheImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwMemoryPackage.Literals.HW_CACHE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLevel() {
+ return level;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLevel(String newLevel) {
+ String oldLevel = level;
+ level = newLevel;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_CACHE__LEVEL, oldLevel, level));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CacheType getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(CacheType newType) {
+ CacheType oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_CACHE__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStructure() {
+ return structure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStructure(String newStructure) {
+ String oldStructure = structure;
+ structure = newStructure;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_CACHE__STRUCTURE, oldStructure, structure));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Repl_Policy getRepl_Policy() {
+ return repl_Policy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepl_Policy(Repl_Policy newRepl_Policy) {
+ Repl_Policy oldRepl_Policy = repl_Policy;
+ repl_Policy = newRepl_Policy == null ? REPL_POLICY_EDEFAULT : newRepl_Policy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_CACHE__REPL_POLICY, oldRepl_Policy, repl_Policy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WritePolicy getWritePolicy() {
+ return writePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWritePolicy(WritePolicy newWritePolicy) {
+ WritePolicy oldWritePolicy = writePolicy;
+ writePolicy = newWritePolicy == null ? WRITE_POLICY_EDEFAULT : newWritePolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_CACHE__WRITE_POLICY, oldWritePolicy, writePolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_CACHE__LEVEL:
+ return getLevel();
+ case HwMemoryPackage.HW_CACHE__TYPE:
+ return getType();
+ case HwMemoryPackage.HW_CACHE__STRUCTURE:
+ return getStructure();
+ case HwMemoryPackage.HW_CACHE__REPL_POLICY:
+ return getRepl_Policy();
+ case HwMemoryPackage.HW_CACHE__WRITE_POLICY:
+ return getWritePolicy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_CACHE__LEVEL:
+ setLevel((String)newValue);
+ return;
+ case HwMemoryPackage.HW_CACHE__TYPE:
+ setType((CacheType)newValue);
+ return;
+ case HwMemoryPackage.HW_CACHE__STRUCTURE:
+ setStructure((String)newValue);
+ return;
+ case HwMemoryPackage.HW_CACHE__REPL_POLICY:
+ setRepl_Policy((Repl_Policy)newValue);
+ return;
+ case HwMemoryPackage.HW_CACHE__WRITE_POLICY:
+ setWritePolicy((WritePolicy)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_CACHE__LEVEL:
+ setLevel(LEVEL_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_CACHE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_CACHE__STRUCTURE:
+ setStructure(STRUCTURE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_CACHE__REPL_POLICY:
+ setRepl_Policy(REPL_POLICY_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_CACHE__WRITE_POLICY:
+ setWritePolicy(WRITE_POLICY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_CACHE__LEVEL:
+ return LEVEL_EDEFAULT == null ? level != null : !LEVEL_EDEFAULT.equals(level);
+ case HwMemoryPackage.HW_CACHE__TYPE:
+ return type != TYPE_EDEFAULT;
+ case HwMemoryPackage.HW_CACHE__STRUCTURE:
+ return STRUCTURE_EDEFAULT == null ? structure != null : !STRUCTURE_EDEFAULT.equals(structure);
+ case HwMemoryPackage.HW_CACHE__REPL_POLICY:
+ return repl_Policy != REPL_POLICY_EDEFAULT;
+ case HwMemoryPackage.HW_CACHE__WRITE_POLICY:
+ return writePolicy != WRITE_POLICY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (level: ");
+ result.append(level);
+ result.append(", type: ");
+ result.append(type);
+ result.append(", structure: ");
+ result.append(structure);
+ result.append(", repl_Policy: ");
+ result.append(repl_Policy);
+ result.append(", writePolicy: ");
+ result.append(writePolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwCacheImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwDriveImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwDriveImpl.java
new file mode 100644
index 00000000000..69ffc8428f2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwDriveImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Drive</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl#getSectorSize <em>Sector Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwDriveImpl#getBuffer <em>Buffer</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwDriveImpl extends HwMemoryImpl implements HwDrive {
+ /**
+ * The default value of the '{@link #getSectorSize() <em>Sector Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSectorSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String SECTOR_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSectorSize() <em>Sector Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSectorSize()
+ * @generated
+ * @ordered
+ */
+ protected String sectorSize = SECTOR_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBuffer() <em>Buffer</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBuffer()
+ * @generated
+ * @ordered
+ */
+ protected HwRAM buffer;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwDriveImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwMemoryPackage.Literals.HW_DRIVE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSectorSize() {
+ return sectorSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSectorSize(String newSectorSize) {
+ String oldSectorSize = sectorSize;
+ sectorSize = newSectorSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_DRIVE__SECTOR_SIZE, oldSectorSize, sectorSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwRAM getBuffer() {
+ if (buffer != null && buffer.eIsProxy()) {
+ InternalEObject oldBuffer = (InternalEObject)buffer;
+ buffer = (HwRAM)eResolveProxy(oldBuffer);
+ if (buffer != oldBuffer) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HwMemoryPackage.HW_DRIVE__BUFFER, oldBuffer, buffer));
+ }
+ }
+ return buffer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwRAM basicGetBuffer() {
+ return buffer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBuffer(HwRAM newBuffer) {
+ HwRAM oldBuffer = buffer;
+ buffer = newBuffer;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_DRIVE__BUFFER, oldBuffer, buffer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_DRIVE__SECTOR_SIZE:
+ return getSectorSize();
+ case HwMemoryPackage.HW_DRIVE__BUFFER:
+ if (resolve) return getBuffer();
+ return basicGetBuffer();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_DRIVE__SECTOR_SIZE:
+ setSectorSize((String)newValue);
+ return;
+ case HwMemoryPackage.HW_DRIVE__BUFFER:
+ setBuffer((HwRAM)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_DRIVE__SECTOR_SIZE:
+ setSectorSize(SECTOR_SIZE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_DRIVE__BUFFER:
+ setBuffer((HwRAM)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_DRIVE__SECTOR_SIZE:
+ return SECTOR_SIZE_EDEFAULT == null ? sectorSize != null : !SECTOR_SIZE_EDEFAULT.equals(sectorSize);
+ case HwMemoryPackage.HW_DRIVE__BUFFER:
+ return buffer != 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(" (sectorSize: ");
+ result.append(sectorSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwDriveImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryFactoryImpl.java
new file mode 100644
index 00000000000..f816b46cdfa
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryFactoryImpl.java
@@ -0,0 +1,339 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwMemoryFactoryImpl extends EFactoryImpl implements HwMemoryFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwMemoryFactory init() {
+ try {
+ HwMemoryFactory theHwMemoryFactory = (HwMemoryFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwMemory/1");
+ if (theHwMemoryFactory != null) {
+ return theHwMemoryFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwMemoryFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwMemoryPackage.HW_MEMORY: return createHwMemory();
+ case HwMemoryPackage.HW_RAM: return createHwRAM();
+ case HwMemoryPackage.HW_ROM: return createHwROM();
+ case HwMemoryPackage.HW_DRIVE: return createHwDrive();
+ case HwMemoryPackage.HW_CACHE: return createHwCache();
+ 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 HwMemoryPackage.REPL_POLICY:
+ return createRepl_PolicyFromString(eDataType, initialValue);
+ case HwMemoryPackage.WRITE_POLICY:
+ return createWritePolicyFromString(eDataType, initialValue);
+ case HwMemoryPackage.CACHE_TYPE:
+ return createCacheTypeFromString(eDataType, initialValue);
+ case HwMemoryPackage.ROM_TYPE:
+ return createROM_TypeFromString(eDataType, initialValue);
+ case HwMemoryPackage.TIMING:
+ return createTimingFromString(eDataType, initialValue);
+ case HwMemoryPackage.CACHE_STRUCTURE:
+ return createCacheStructureFromString(eDataType, initialValue);
+ case HwMemoryPackage.MEMORY_ORGANIZATION:
+ return createMemoryOrganizationFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case HwMemoryPackage.REPL_POLICY:
+ return convertRepl_PolicyToString(eDataType, instanceValue);
+ case HwMemoryPackage.WRITE_POLICY:
+ return convertWritePolicyToString(eDataType, instanceValue);
+ case HwMemoryPackage.CACHE_TYPE:
+ return convertCacheTypeToString(eDataType, instanceValue);
+ case HwMemoryPackage.ROM_TYPE:
+ return convertROM_TypeToString(eDataType, instanceValue);
+ case HwMemoryPackage.TIMING:
+ return convertTimingToString(eDataType, instanceValue);
+ case HwMemoryPackage.CACHE_STRUCTURE:
+ return convertCacheStructureToString(eDataType, instanceValue);
+ case HwMemoryPackage.MEMORY_ORGANIZATION:
+ return convertMemoryOrganizationToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemory createHwMemory() {
+ HwMemoryImpl hwMemory = new HwMemoryImpl();
+ return hwMemory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwRAM createHwRAM() {
+ HwRAMImpl hwRAM = new HwRAMImpl();
+ return hwRAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwROM createHwROM() {
+ HwROMImpl hwROM = new HwROMImpl();
+ return hwROM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDrive createHwDrive() {
+ HwDriveImpl hwDrive = new HwDriveImpl();
+ return hwDrive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCache createHwCache() {
+ HwCacheImpl hwCache = new HwCacheImpl();
+ return hwCache;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Repl_Policy createRepl_PolicyFromString(EDataType eDataType, String initialValue) {
+ Repl_Policy result = Repl_Policy.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 convertRepl_PolicyToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WritePolicy createWritePolicyFromString(EDataType eDataType, String initialValue) {
+ WritePolicy result = WritePolicy.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 convertWritePolicyToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CacheType createCacheTypeFromString(EDataType eDataType, String initialValue) {
+ CacheType result = CacheType.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 convertCacheTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ROM_Type createROM_TypeFromString(EDataType eDataType, String initialValue) {
+ ROM_Type result = ROM_Type.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 convertROM_TypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createTimingFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTimingToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createCacheStructureFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertCacheStructureToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createMemoryOrganizationFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMemoryOrganizationToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryPackage getHwMemoryPackage() {
+ return (HwMemoryPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwMemoryPackage getPackage() {
+ return HwMemoryPackage.eINSTANCE;
+ }
+
+} //HwMemoryFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryImpl.java
new file mode 100644
index 00000000000..bc644a0be6b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryImpl.java
@@ -0,0 +1,415 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Memory</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl#getElementSize <em>Element Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl#getMemorySize <em>Memory Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl#getAdressSize <em>Adress Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl#getTimings <em>Timings</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryImpl#getThroughput <em>Throughput</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwMemoryImpl extends HwResourceImpl implements HwMemory {
+ /**
+ * The default value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected String elementSize = ELEMENT_SIZE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMemorySize() <em>Memory Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySize()
+ * @generated
+ * @ordered
+ */
+ protected static final String MEMORY_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMemorySize() <em>Memory Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySize()
+ * @generated
+ * @ordered
+ */
+ protected String memorySize = MEMORY_SIZE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getAdressSize() <em>Adress Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdressSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String ADRESS_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getAdressSize() <em>Adress Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdressSize()
+ * @generated
+ * @ordered
+ */
+ protected String adressSize = ADRESS_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTimings() <em>Timings</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimings()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> timings;
+
+ /**
+ * The default value of the '{@link #getThroughput() <em>Throughput</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThroughput()
+ * @generated
+ * @ordered
+ */
+ protected static final String THROUGHPUT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getThroughput() <em>Throughput</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getThroughput()
+ * @generated
+ * @ordered
+ */
+ protected String throughput = THROUGHPUT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwMemoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwMemoryPackage.Literals.HW_MEMORY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElementSize() {
+ return elementSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementSize(String newElementSize) {
+ String oldElementSize = elementSize;
+ elementSize = newElementSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE, oldElementSize, elementSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMemorySize() {
+ return memorySize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemorySize(String newMemorySize) {
+ String oldMemorySize = memorySize;
+ memorySize = newMemorySize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_MEMORY__MEMORY_SIZE, oldMemorySize, memorySize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getAdressSize() {
+ return adressSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAdressSize(String newAdressSize) {
+ String oldAdressSize = adressSize;
+ adressSize = newAdressSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_MEMORY__ADRESS_SIZE, oldAdressSize, adressSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getTimings() {
+ if (timings == null) {
+ timings = new EDataTypeUniqueEList<String>(String.class, this, HwMemoryPackage.HW_MEMORY__TIMINGS);
+ }
+ return timings;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getThroughput() {
+ return throughput;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setThroughput(String newThroughput) {
+ String oldThroughput = throughput;
+ throughput = newThroughput;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_MEMORY__THROUGHPUT, oldThroughput, throughput));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE:
+ return getElementSize();
+ case HwMemoryPackage.HW_MEMORY__MEMORY_SIZE:
+ return getMemorySize();
+ case HwMemoryPackage.HW_MEMORY__ADRESS_SIZE:
+ return getAdressSize();
+ case HwMemoryPackage.HW_MEMORY__TIMINGS:
+ return getTimings();
+ case HwMemoryPackage.HW_MEMORY__THROUGHPUT:
+ return getThroughput();
+ }
+ 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 HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE:
+ setElementSize((String)newValue);
+ return;
+ case HwMemoryPackage.HW_MEMORY__MEMORY_SIZE:
+ setMemorySize((String)newValue);
+ return;
+ case HwMemoryPackage.HW_MEMORY__ADRESS_SIZE:
+ setAdressSize((String)newValue);
+ return;
+ case HwMemoryPackage.HW_MEMORY__TIMINGS:
+ getTimings().clear();
+ getTimings().addAll((Collection<? extends String>)newValue);
+ return;
+ case HwMemoryPackage.HW_MEMORY__THROUGHPUT:
+ setThroughput((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE:
+ setElementSize(ELEMENT_SIZE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_MEMORY__MEMORY_SIZE:
+ setMemorySize(MEMORY_SIZE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_MEMORY__ADRESS_SIZE:
+ setAdressSize(ADRESS_SIZE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_MEMORY__TIMINGS:
+ getTimings().clear();
+ return;
+ case HwMemoryPackage.HW_MEMORY__THROUGHPUT:
+ setThroughput(THROUGHPUT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE:
+ return ELEMENT_SIZE_EDEFAULT == null ? elementSize != null : !ELEMENT_SIZE_EDEFAULT.equals(elementSize);
+ case HwMemoryPackage.HW_MEMORY__MEMORY_SIZE:
+ return MEMORY_SIZE_EDEFAULT == null ? memorySize != null : !MEMORY_SIZE_EDEFAULT.equals(memorySize);
+ case HwMemoryPackage.HW_MEMORY__ADRESS_SIZE:
+ return ADRESS_SIZE_EDEFAULT == null ? adressSize != null : !ADRESS_SIZE_EDEFAULT.equals(adressSize);
+ case HwMemoryPackage.HW_MEMORY__TIMINGS:
+ return timings != null && !timings.isEmpty();
+ case HwMemoryPackage.HW_MEMORY__THROUGHPUT:
+ return THROUGHPUT_EDEFAULT == null ? throughput != null : !THROUGHPUT_EDEFAULT.equals(throughput);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == StorageResource.class) {
+ switch (derivedFeatureID) {
+ case HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE: return GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE;
+ 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 == StorageResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE: return HwMemoryPackage.HW_MEMORY__ELEMENT_SIZE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (elementSize: ");
+ result.append(elementSize);
+ result.append(", memorySize: ");
+ result.append(memorySize);
+ result.append(", adressSize: ");
+ result.append(adressSize);
+ result.append(", timings: ");
+ result.append(timings);
+ result.append(", throughput: ");
+ result.append(throughput);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwMemoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryPackageImpl.java
new file mode 100644
index 00000000000..1465509b934
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwMemoryPackageImpl.java
@@ -0,0 +1,918 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.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.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.CacheType;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwMemoryPackageImpl extends EPackageImpl implements HwMemoryPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwMemoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwRAMEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwROMEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwDriveEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwCacheEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum repl_PolicyEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum writePolicyEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum cacheTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum roM_TypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType timingEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType cacheStructureEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType memoryOrganizationEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwMemoryPackageImpl() {
+ super(eNS_URI, HwMemoryFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwMemoryPackage#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 HwMemoryPackage init() {
+ if (isInited) return (HwMemoryPackage)EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwMemoryPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwMemoryPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwMemoryPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwMemoryPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwMemoryPackage.eNS_URI, theHwMemoryPackage);
+ return theHwMemoryPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwMemory() {
+ return hwMemoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMemory_MemorySize() {
+ return (EAttribute)hwMemoryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMemory_AdressSize() {
+ return (EAttribute)hwMemoryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMemory_Timings() {
+ return (EAttribute)hwMemoryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMemory_Throughput() {
+ return (EAttribute)hwMemoryEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwRAM() {
+ return hwRAMEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_Organization() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_IsSynchronous() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_IsStatic() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_IsNonVolatile() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_Repl_Policy() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwRAM_WritePolicy() {
+ return (EAttribute)hwRAMEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwROM() {
+ return hwROMEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwROM_Type() {
+ return (EAttribute)hwROMEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwROM_Organization() {
+ return (EAttribute)hwROMEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwDrive() {
+ return hwDriveEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwDrive_SectorSize() {
+ return (EAttribute)hwDriveEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwDrive_Buffer() {
+ return (EReference)hwDriveEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwCache() {
+ return hwCacheEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCache_Level() {
+ return (EAttribute)hwCacheEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCache_Type() {
+ return (EAttribute)hwCacheEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCache_Structure() {
+ return (EAttribute)hwCacheEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCache_Repl_Policy() {
+ return (EAttribute)hwCacheEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCache_WritePolicy() {
+ return (EAttribute)hwCacheEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getRepl_Policy() {
+ return repl_PolicyEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getWritePolicy() {
+ return writePolicyEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getCacheType() {
+ return cacheTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getROM_Type() {
+ return roM_TypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getTiming() {
+ return timingEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getCacheStructure() {
+ return cacheStructureEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getMemoryOrganization() {
+ return memoryOrganizationEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryFactory getHwMemoryFactory() {
+ return (HwMemoryFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwMemoryEClass = createEClass(HW_MEMORY);
+ createEAttribute(hwMemoryEClass, HW_MEMORY__MEMORY_SIZE);
+ createEAttribute(hwMemoryEClass, HW_MEMORY__ADRESS_SIZE);
+ createEAttribute(hwMemoryEClass, HW_MEMORY__TIMINGS);
+ createEAttribute(hwMemoryEClass, HW_MEMORY__THROUGHPUT);
+
+ hwRAMEClass = createEClass(HW_RAM);
+ createEAttribute(hwRAMEClass, HW_RAM__ORGANIZATION);
+ createEAttribute(hwRAMEClass, HW_RAM__IS_SYNCHRONOUS);
+ createEAttribute(hwRAMEClass, HW_RAM__IS_STATIC);
+ createEAttribute(hwRAMEClass, HW_RAM__IS_NON_VOLATILE);
+ createEAttribute(hwRAMEClass, HW_RAM__REPL_POLICY);
+ createEAttribute(hwRAMEClass, HW_RAM__WRITE_POLICY);
+
+ hwROMEClass = createEClass(HW_ROM);
+ createEAttribute(hwROMEClass, HW_ROM__TYPE);
+ createEAttribute(hwROMEClass, HW_ROM__ORGANIZATION);
+
+ hwDriveEClass = createEClass(HW_DRIVE);
+ createEAttribute(hwDriveEClass, HW_DRIVE__SECTOR_SIZE);
+ createEReference(hwDriveEClass, HW_DRIVE__BUFFER);
+
+ hwCacheEClass = createEClass(HW_CACHE);
+ createEAttribute(hwCacheEClass, HW_CACHE__LEVEL);
+ createEAttribute(hwCacheEClass, HW_CACHE__TYPE);
+ createEAttribute(hwCacheEClass, HW_CACHE__STRUCTURE);
+ createEAttribute(hwCacheEClass, HW_CACHE__REPL_POLICY);
+ createEAttribute(hwCacheEClass, HW_CACHE__WRITE_POLICY);
+
+ // Create enums
+ repl_PolicyEEnum = createEEnum(REPL_POLICY);
+ writePolicyEEnum = createEEnum(WRITE_POLICY);
+ cacheTypeEEnum = createEEnum(CACHE_TYPE);
+ roM_TypeEEnum = createEEnum(ROM_TYPE);
+
+ // Create data types
+ timingEDataType = createEDataType(TIMING);
+ cacheStructureEDataType = createEDataType(CACHE_STRUCTURE);
+ memoryOrganizationEDataType = createEDataType(MEMORY_ORGANIZATION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwMemoryEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwMemoryEClass.getESuperTypes().add(theGRMPackage.getStorageResource());
+ hwRAMEClass.getESuperTypes().add(this.getHwMemory());
+ hwROMEClass.getESuperTypes().add(this.getHwMemory());
+ hwDriveEClass.getESuperTypes().add(this.getHwMemory());
+ hwCacheEClass.getESuperTypes().add(this.getHwMemory());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwMemoryEClass, HwMemory.class, "HwMemory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwMemory_MemorySize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "memorySize", null, 0, 1, HwMemory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMemory_AdressSize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "adressSize", null, 0, 1, HwMemory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMemory_Timings(), this.getTiming(), "timings", null, 0, -1, HwMemory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMemory_Throughput(), theBasicNFP_TypesPackage.getNFP_DataTxRate(), "throughput", null, 0, 1, HwMemory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwRAMEClass, HwRAM.class, "HwRAM", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwRAM_Organization(), this.getMemoryOrganization(), "organization", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwRAM_IsSynchronous(), theBasicNFP_TypesPackage.getNFP_Boolean(), "isSynchronous", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwRAM_IsStatic(), theBasicNFP_TypesPackage.getNFP_Boolean(), "isStatic", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwRAM_IsNonVolatile(), theBasicNFP_TypesPackage.getNFP_Boolean(), "isNonVolatile", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwRAM_Repl_Policy(), this.getRepl_Policy(), "repl_Policy", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwRAM_WritePolicy(), this.getWritePolicy(), "writePolicy", null, 0, 1, HwRAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwROMEClass, HwROM.class, "HwROM", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwROM_Type(), this.getROM_Type(), "type", null, 0, 1, HwROM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwROM_Organization(), this.getMemoryOrganization(), "organization", null, 0, 1, HwROM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwDriveEClass, HwDrive.class, "HwDrive", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwDrive_SectorSize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "sectorSize", null, 0, 1, HwDrive.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwDrive_Buffer(), this.getHwRAM(), null, "buffer", null, 0, 1, HwDrive.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwCacheEClass, HwCache.class, "HwCache", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwCache_Level(), theBasicNFP_TypesPackage.getNFP_Natural(), "level", null, 0, 1, HwCache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwCache_Type(), this.getCacheType(), "type", null, 0, 1, HwCache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwCache_Structure(), this.getCacheStructure(), "structure", null, 0, 1, HwCache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwCache_Repl_Policy(), this.getRepl_Policy(), "repl_Policy", null, 0, 1, HwCache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwCache_WritePolicy(), this.getWritePolicy(), "writePolicy", null, 0, 1, HwCache.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(repl_PolicyEEnum, Repl_Policy.class, "Repl_Policy");
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.LRU);
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.NFU);
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.FIFO);
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.RANDOM);
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.OTHER);
+ addEEnumLiteral(repl_PolicyEEnum, Repl_Policy.UNDEF);
+
+ initEEnum(writePolicyEEnum, WritePolicy.class, "WritePolicy");
+ addEEnumLiteral(writePolicyEEnum, WritePolicy.WRITE_BACK);
+ addEEnumLiteral(writePolicyEEnum, WritePolicy.WRITE_THROUGH);
+ addEEnumLiteral(writePolicyEEnum, WritePolicy.OTHER);
+ addEEnumLiteral(writePolicyEEnum, WritePolicy.UNDEF);
+
+ initEEnum(cacheTypeEEnum, CacheType.class, "CacheType");
+ addEEnumLiteral(cacheTypeEEnum, CacheType.DATA);
+ addEEnumLiteral(cacheTypeEEnum, CacheType.INSTRUCTION);
+ addEEnumLiteral(cacheTypeEEnum, CacheType.UNIFIED);
+ addEEnumLiteral(cacheTypeEEnum, CacheType.OTHER);
+ addEEnumLiteral(cacheTypeEEnum, CacheType.UNDEF);
+
+ initEEnum(roM_TypeEEnum, ROM_Type.class, "ROM_Type");
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.MASKED_ROM);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.EPROM);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.OTP_EPROM);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.EEPROM);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.FLASH);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.OTHER);
+ addEEnumLiteral(roM_TypeEEnum, ROM_Type.UNDEF);
+
+ // Initialize data types
+ initEDataType(timingEDataType, String.class, "Timing", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(cacheStructureEDataType, String.class, "CacheStructure", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(memoryOrganizationEDataType, String.class, "MemoryOrganization", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create annotations
+ // subsets
+ createSubsetsAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>subsets</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createSubsetsAnnotations() {
+ String source = "subsets";
+ addAnnotation
+ (getHwDrive_Buffer(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ }
+
+} //HwMemoryPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwRAMImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwRAMImpl.java
new file mode 100644
index 00000000000..ef5836c761e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwRAMImpl.java
@@ -0,0 +1,445 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.Repl_Policy;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.WritePolicy;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw RAM</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getOrganization <em>Organization</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getIsSynchronous <em>Is Synchronous</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getIsStatic <em>Is Static</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getIsNonVolatile <em>Is Non Volatile</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getRepl_Policy <em>Repl Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwRAMImpl#getWritePolicy <em>Write Policy</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwRAMImpl extends HwMemoryImpl implements HwRAM {
+ /**
+ * The default value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected String organization = ORGANIZATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsSynchronous() <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSynchronous()
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_SYNCHRONOUS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIsSynchronous() <em>Is Synchronous</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsSynchronous()
+ * @generated
+ * @ordered
+ */
+ protected String isSynchronous = IS_SYNCHRONOUS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsStatic() <em>Is Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsStatic()
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_STATIC_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIsStatic() <em>Is Static</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsStatic()
+ * @generated
+ * @ordered
+ */
+ protected String isStatic = IS_STATIC_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIsNonVolatile() <em>Is Non Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsNonVolatile()
+ * @generated
+ * @ordered
+ */
+ protected static final String IS_NON_VOLATILE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getIsNonVolatile() <em>Is Non Volatile</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsNonVolatile()
+ * @generated
+ * @ordered
+ */
+ protected String isNonVolatile = IS_NON_VOLATILE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRepl_Policy() <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepl_Policy()
+ * @generated
+ * @ordered
+ */
+ protected static final Repl_Policy REPL_POLICY_EDEFAULT = Repl_Policy.LRU;
+
+ /**
+ * The cached value of the '{@link #getRepl_Policy() <em>Repl Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepl_Policy()
+ * @generated
+ * @ordered
+ */
+ protected Repl_Policy repl_Policy = REPL_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWritePolicy() <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWritePolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final WritePolicy WRITE_POLICY_EDEFAULT = WritePolicy.WRITE_BACK;
+
+ /**
+ * The cached value of the '{@link #getWritePolicy() <em>Write Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWritePolicy()
+ * @generated
+ * @ordered
+ */
+ protected WritePolicy writePolicy = WRITE_POLICY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwRAMImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwMemoryPackage.Literals.HW_RAM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOrganization(String newOrganization) {
+ String oldOrganization = organization;
+ organization = newOrganization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__ORGANIZATION, oldOrganization, organization));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIsSynchronous() {
+ return isSynchronous;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsSynchronous(String newIsSynchronous) {
+ String oldIsSynchronous = isSynchronous;
+ isSynchronous = newIsSynchronous;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__IS_SYNCHRONOUS, oldIsSynchronous, isSynchronous));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIsStatic() {
+ return isStatic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStatic(String newIsStatic) {
+ String oldIsStatic = isStatic;
+ isStatic = newIsStatic;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__IS_STATIC, oldIsStatic, isStatic));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getIsNonVolatile() {
+ return isNonVolatile;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsNonVolatile(String newIsNonVolatile) {
+ String oldIsNonVolatile = isNonVolatile;
+ isNonVolatile = newIsNonVolatile;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__IS_NON_VOLATILE, oldIsNonVolatile, isNonVolatile));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Repl_Policy getRepl_Policy() {
+ return repl_Policy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepl_Policy(Repl_Policy newRepl_Policy) {
+ Repl_Policy oldRepl_Policy = repl_Policy;
+ repl_Policy = newRepl_Policy == null ? REPL_POLICY_EDEFAULT : newRepl_Policy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__REPL_POLICY, oldRepl_Policy, repl_Policy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public WritePolicy getWritePolicy() {
+ return writePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWritePolicy(WritePolicy newWritePolicy) {
+ WritePolicy oldWritePolicy = writePolicy;
+ writePolicy = newWritePolicy == null ? WRITE_POLICY_EDEFAULT : newWritePolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_RAM__WRITE_POLICY, oldWritePolicy, writePolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_RAM__ORGANIZATION:
+ return getOrganization();
+ case HwMemoryPackage.HW_RAM__IS_SYNCHRONOUS:
+ return getIsSynchronous();
+ case HwMemoryPackage.HW_RAM__IS_STATIC:
+ return getIsStatic();
+ case HwMemoryPackage.HW_RAM__IS_NON_VOLATILE:
+ return getIsNonVolatile();
+ case HwMemoryPackage.HW_RAM__REPL_POLICY:
+ return getRepl_Policy();
+ case HwMemoryPackage.HW_RAM__WRITE_POLICY:
+ return getWritePolicy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_RAM__ORGANIZATION:
+ setOrganization((String)newValue);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_SYNCHRONOUS:
+ setIsSynchronous((String)newValue);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_STATIC:
+ setIsStatic((String)newValue);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_NON_VOLATILE:
+ setIsNonVolatile((String)newValue);
+ return;
+ case HwMemoryPackage.HW_RAM__REPL_POLICY:
+ setRepl_Policy((Repl_Policy)newValue);
+ return;
+ case HwMemoryPackage.HW_RAM__WRITE_POLICY:
+ setWritePolicy((WritePolicy)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_RAM__ORGANIZATION:
+ setOrganization(ORGANIZATION_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_SYNCHRONOUS:
+ setIsSynchronous(IS_SYNCHRONOUS_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_STATIC:
+ setIsStatic(IS_STATIC_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_RAM__IS_NON_VOLATILE:
+ setIsNonVolatile(IS_NON_VOLATILE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_RAM__REPL_POLICY:
+ setRepl_Policy(REPL_POLICY_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_RAM__WRITE_POLICY:
+ setWritePolicy(WRITE_POLICY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_RAM__ORGANIZATION:
+ return ORGANIZATION_EDEFAULT == null ? organization != null : !ORGANIZATION_EDEFAULT.equals(organization);
+ case HwMemoryPackage.HW_RAM__IS_SYNCHRONOUS:
+ return IS_SYNCHRONOUS_EDEFAULT == null ? isSynchronous != null : !IS_SYNCHRONOUS_EDEFAULT.equals(isSynchronous);
+ case HwMemoryPackage.HW_RAM__IS_STATIC:
+ return IS_STATIC_EDEFAULT == null ? isStatic != null : !IS_STATIC_EDEFAULT.equals(isStatic);
+ case HwMemoryPackage.HW_RAM__IS_NON_VOLATILE:
+ return IS_NON_VOLATILE_EDEFAULT == null ? isNonVolatile != null : !IS_NON_VOLATILE_EDEFAULT.equals(isNonVolatile);
+ case HwMemoryPackage.HW_RAM__REPL_POLICY:
+ return repl_Policy != REPL_POLICY_EDEFAULT;
+ case HwMemoryPackage.HW_RAM__WRITE_POLICY:
+ return writePolicy != WRITE_POLICY_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (organization: ");
+ result.append(organization);
+ result.append(", isSynchronous: ");
+ result.append(isSynchronous);
+ result.append(", isStatic: ");
+ result.append(isStatic);
+ result.append(", isNonVolatile: ");
+ result.append(isNonVolatile);
+ result.append(", repl_Policy: ");
+ result.append(repl_Policy);
+ result.append(", writePolicy: ");
+ result.append(writePolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwRAMImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwROMImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwROMImpl.java
new file mode 100644
index 00000000000..2efa6a4466d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/impl/HwROMImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.ROM_Type;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw ROM</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwROMImpl#getOrganization <em>Organization</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwROMImpl extends HwMemoryImpl implements HwROM {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final ROM_Type TYPE_EDEFAULT = ROM_Type.MASKED_ROM;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected ROM_Type type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected static final String ORGANIZATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOrganization() <em>Organization</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOrganization()
+ * @generated
+ * @ordered
+ */
+ protected String organization = ORGANIZATION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwROMImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwMemoryPackage.Literals.HW_ROM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ROM_Type getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(ROM_Type newType) {
+ ROM_Type oldType = type;
+ type = newType == null ? TYPE_EDEFAULT : newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_ROM__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOrganization() {
+ return organization;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOrganization(String newOrganization) {
+ String oldOrganization = organization;
+ organization = newOrganization;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwMemoryPackage.HW_ROM__ORGANIZATION, oldOrganization, organization));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_ROM__TYPE:
+ return getType();
+ case HwMemoryPackage.HW_ROM__ORGANIZATION:
+ return getOrganization();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_ROM__TYPE:
+ setType((ROM_Type)newValue);
+ return;
+ case HwMemoryPackage.HW_ROM__ORGANIZATION:
+ setOrganization((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_ROM__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case HwMemoryPackage.HW_ROM__ORGANIZATION:
+ setOrganization(ORGANIZATION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwMemoryPackage.HW_ROM__TYPE:
+ return type != TYPE_EDEFAULT;
+ case HwMemoryPackage.HW_ROM__ORGANIZATION:
+ return ORGANIZATION_EDEFAULT == null ? organization != null : !ORGANIZATION_EDEFAULT.equals(organization);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", organization: ");
+ result.append(organization);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwROMImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryAdapterFactory.java
new file mode 100644
index 00000000000..edcfaac7f36
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryAdapterFactory.java
@@ -0,0 +1,262 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage
+ * @generated
+ */
+public class HwMemoryAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwMemoryPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwMemoryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwMemorySwitch<Adapter> modelSwitch =
+ new HwMemorySwitch<Adapter>() {
+ @Override
+ public Adapter caseHwMemory(HwMemory object) {
+ return createHwMemoryAdapter();
+ }
+ @Override
+ public Adapter caseHwRAM(HwRAM object) {
+ return createHwRAMAdapter();
+ }
+ @Override
+ public Adapter caseHwROM(HwROM object) {
+ return createHwROMAdapter();
+ }
+ @Override
+ public Adapter caseHwDrive(HwDrive object) {
+ return createHwDriveAdapter();
+ }
+ @Override
+ public Adapter caseHwCache(HwCache object) {
+ return createHwCacheAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseStorageResource(StorageResource object) {
+ return createStorageResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory <em>Hw Memory</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory
+ * @generated
+ */
+ public Adapter createHwMemoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM <em>Hw RAM</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwRAM
+ * @generated
+ */
+ public Adapter createHwRAMAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM <em>Hw ROM</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwROM
+ * @generated
+ */
+ public Adapter createHwROMAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive <em>Hw Drive</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwDrive
+ * @generated
+ */
+ public Adapter createHwDriveAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache <em>Hw Cache</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache
+ * @generated
+ */
+ public Adapter createHwCacheAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource <em>Storage Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource
+ * @generated
+ */
+ public Adapter createStorageResourceAdapter() {
+ 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;
+ }
+
+} //HwMemoryAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceFactoryImpl.java
new file mode 100644
index 00000000000..24f6ec7442d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.util.HwMemoryResourceImpl
+ * @generated
+ */
+public class HwMemoryResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwMemoryResourceImpl(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;
+ }
+
+} //HwMemoryResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceImpl.java
new file mode 100644
index 00000000000..80d6facdfef
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.util.HwMemoryResourceFactoryImpl
+ * @generated
+ */
+public class HwMemoryResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwMemoryResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwMemoryResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemorySwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemorySwitch.java
new file mode 100644
index 00000000000..40f0824b8db
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemorySwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage
+ * @generated
+ */
+public class HwMemorySwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwMemoryPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemorySwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwMemoryPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwMemoryPackage.HW_MEMORY: {
+ HwMemory hwMemory = (HwMemory)theEObject;
+ T result = caseHwMemory(hwMemory);
+ if (result == null) result = caseHwResource(hwMemory);
+ if (result == null) result = caseStorageResource(hwMemory);
+ if (result == null) result = caseResource(hwMemory);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwMemoryPackage.HW_RAM: {
+ HwRAM hwRAM = (HwRAM)theEObject;
+ T result = caseHwRAM(hwRAM);
+ if (result == null) result = caseHwMemory(hwRAM);
+ if (result == null) result = caseHwResource(hwRAM);
+ if (result == null) result = caseStorageResource(hwRAM);
+ if (result == null) result = caseResource(hwRAM);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwMemoryPackage.HW_ROM: {
+ HwROM hwROM = (HwROM)theEObject;
+ T result = caseHwROM(hwROM);
+ if (result == null) result = caseHwMemory(hwROM);
+ if (result == null) result = caseHwResource(hwROM);
+ if (result == null) result = caseStorageResource(hwROM);
+ if (result == null) result = caseResource(hwROM);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwMemoryPackage.HW_DRIVE: {
+ HwDrive hwDrive = (HwDrive)theEObject;
+ T result = caseHwDrive(hwDrive);
+ if (result == null) result = caseHwMemory(hwDrive);
+ if (result == null) result = caseHwResource(hwDrive);
+ if (result == null) result = caseStorageResource(hwDrive);
+ if (result == null) result = caseResource(hwDrive);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwMemoryPackage.HW_CACHE: {
+ HwCache hwCache = (HwCache)theEObject;
+ T result = caseHwCache(hwCache);
+ if (result == null) result = caseHwMemory(hwCache);
+ if (result == null) result = caseHwResource(hwCache);
+ if (result == null) result = caseStorageResource(hwCache);
+ if (result == null) result = caseResource(hwCache);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Memory</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Memory</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwMemory(HwMemory object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw RAM</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw RAM</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwRAM(HwRAM object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw ROM</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw ROM</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwROM(HwROM object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Drive</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Drive</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwDrive(HwDrive object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Cache</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Cache</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwCache(HwCache object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Storage Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Storage Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStorageResource(StorageResource 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwMemorySwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryXMLProcessor.java
new file mode 100644
index 00000000000..c5e74fb2e5c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwMemory/util/HwMemoryXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwMemoryXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMemoryXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwMemoryPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwMemoryResourceFactoryImpl 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 HwMemoryResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwMemoryResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwMemoryXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA.java
new file mode 100644
index 00000000000..a9ef5c9507b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwDMA.java
@@ -0,0 +1,109 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw DMA</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getNbChannels <em>Nb Channels</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getTransferWidth <em>Transfer Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getDrivenBy <em>Driven By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwDMA()
+ * @model
+ * @generated
+ */
+public interface HwDMA extends HwStorageManager, HwArbiter {
+ /**
+ * Returns the value of the '<em><b>Nb Channels</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Channels</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Channels</em>' attribute.
+ * @see #setNbChannels(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwDMA_NbChannels()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbChannels();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getNbChannels <em>Nb Channels</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Channels</em>' attribute.
+ * @see #getNbChannels()
+ * @generated
+ */
+ void setNbChannels(String value);
+
+ /**
+ * Returns the value of the '<em><b>Transfer Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transfer Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transfer Width</em>' attribute.
+ * @see #setTransferWidth(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwDMA_TransferWidth()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getTransferWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getTransferWidth <em>Transfer Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Transfer Width</em>' attribute.
+ * @see #getTransferWidth()
+ * @generated
+ */
+ void setTransferWidth(String value);
+
+ /**
+ * Returns the value of the '<em><b>Driven By</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Driven By</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>Driven By</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwDMA_DrivenBy()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwProcessor> getDrivenBy();
+
+} // HwDMA
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU.java
new file mode 100644
index 00000000000..71f1cf868ae
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwMMU.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw MMU</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getVirtualAddrSpace <em>Virtual Addr Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getPhysicalAddrSpace <em>Physical Addr Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getMemoryProtection <em>Memory Protection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getNbEntries <em>Nb Entries</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getOwnedTLBs <em>Owned TL Bs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU()
+ * @model
+ * @generated
+ */
+public interface HwMMU extends HwStorageManager {
+ /**
+ * Returns the value of the '<em><b>Virtual Addr Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Virtual Addr Space</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Virtual Addr Space</em>' attribute.
+ * @see #setVirtualAddrSpace(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU_VirtualAddrSpace()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getVirtualAddrSpace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getVirtualAddrSpace <em>Virtual Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Virtual Addr Space</em>' attribute.
+ * @see #getVirtualAddrSpace()
+ * @generated
+ */
+ void setVirtualAddrSpace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Physical Addr Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Physical Addr Space</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Physical Addr Space</em>' attribute.
+ * @see #setPhysicalAddrSpace(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU_PhysicalAddrSpace()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getPhysicalAddrSpace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getPhysicalAddrSpace <em>Physical Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Physical Addr Space</em>' attribute.
+ * @see #getPhysicalAddrSpace()
+ * @generated
+ */
+ void setPhysicalAddrSpace(String value);
+
+ /**
+ * Returns the value of the '<em><b>Memory Protection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Protection</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Protection</em>' attribute.
+ * @see #setMemoryProtection(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU_MemoryProtection()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Boolean" ordered="false"
+ * @generated
+ */
+ String getMemoryProtection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getMemoryProtection <em>Memory Protection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory Protection</em>' attribute.
+ * @see #getMemoryProtection()
+ * @generated
+ */
+ void setMemoryProtection(String value);
+
+ /**
+ * Returns the value of the '<em><b>Nb Entries</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Entries</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Entries</em>' attribute.
+ * @see #setNbEntries(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU_NbEntries()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ String getNbEntries();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getNbEntries <em>Nb Entries</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Entries</em>' attribute.
+ * @see #getNbEntries()
+ * @generated
+ */
+ void setNbEntries(String value);
+
+ /**
+ * Returns the value of the '<em><b>Owned TL Bs</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owned TL Bs</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>Owned TL Bs</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwMMU_OwnedTLBs()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwCache> getOwnedTLBs();
+
+} // HwMMU
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager.java
new file mode 100644
index 00000000000..5f1e8451e93
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManager.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Storage Manager</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager#getManagedMemories <em>Managed Memories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwStorageManager()
+ * @model
+ * @generated
+ */
+public interface HwStorageManager extends HwResource, StorageResource {
+ /**
+ * Returns the value of the '<em><b>Managed Memories</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Managed Memories</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>Managed Memories</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#getHwStorageManager_ManagedMemories()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwMemory> getManagedMemories();
+
+} // HwStorageManager
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerFactory.java
new file mode 100644
index 00000000000..120985e0770
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerFactory.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage
+ * @generated
+ */
+public interface HwStorageManagerFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwStorageManagerFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Storage Manager</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Storage Manager</em>'.
+ * @generated
+ */
+ HwStorageManager createHwStorageManager();
+
+ /**
+ * Returns a new object of class '<em>Hw DMA</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw DMA</em>'.
+ * @generated
+ */
+ HwDMA createHwDMA();
+
+ /**
+ * Returns a new object of class '<em>Hw MMU</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw MMU</em>'.
+ * @generated
+ */
+ HwMMU createHwMMU();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwStorageManagerPackage getHwStorageManagerPackage();
+
+} //HwStorageManagerFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerPackage.java
new file mode 100644
index 00000000000..bd073064ec7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/HwStorageManagerPackage.java
@@ -0,0 +1,897 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwStorageManagerPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwStorageManager";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwStorageManager/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwStorageManager";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwStorageManagerPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl <em>Hw Storage Manager</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwStorageManager()
+ * @generated
+ */
+ int HW_STORAGE_MANAGER = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__ELEMENT_SIZE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Managed Memories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER__MANAGED_MEMORIES = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Hw Storage Manager</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_STORAGE_MANAGER_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl <em>Hw DMA</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwDMA()
+ * @generated
+ */
+ int HW_DMA = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__RES_MULT = HW_STORAGE_MANAGER__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__IS_PROTECTED = HW_STORAGE_MANAGER__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__IS_ACTIVE = HW_STORAGE_MANAGER__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__BASE_PROPERTY = HW_STORAGE_MANAGER__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__BASE_INSTANCE_SPECIFICATION = HW_STORAGE_MANAGER__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__BASE_CLASSIFIER = HW_STORAGE_MANAGER__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__BASE_LIFELINE = HW_STORAGE_MANAGER__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__BASE_CONNECTABLE_ELEMENT = HW_STORAGE_MANAGER__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__DESCRIPTION = HW_STORAGE_MANAGER__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__PHW_SERVICES = HW_STORAGE_MANAGER__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__RHW_SERVICES = HW_STORAGE_MANAGER__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__OWNED_HW = HW_STORAGE_MANAGER__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__END_POINTS = HW_STORAGE_MANAGER__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__FREQUENCY = HW_STORAGE_MANAGER__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__ELEMENT_SIZE = HW_STORAGE_MANAGER__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Managed Memories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__MANAGED_MEMORIES = HW_STORAGE_MANAGER__MANAGED_MEMORIES;
+
+ /**
+ * The feature id for the '<em><b>Controlled Medias</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__CONTROLLED_MEDIAS = HW_STORAGE_MANAGER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Nb Channels</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__NB_CHANNELS = HW_STORAGE_MANAGER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Transfer Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__TRANSFER_WIDTH = HW_STORAGE_MANAGER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Driven By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA__DRIVEN_BY = HW_STORAGE_MANAGER_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Hw DMA</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_DMA_FEATURE_COUNT = HW_STORAGE_MANAGER_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl <em>Hw MMU</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwMMU()
+ * @generated
+ */
+ int HW_MMU = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__RES_MULT = HW_STORAGE_MANAGER__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__IS_PROTECTED = HW_STORAGE_MANAGER__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__IS_ACTIVE = HW_STORAGE_MANAGER__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__BASE_PROPERTY = HW_STORAGE_MANAGER__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__BASE_INSTANCE_SPECIFICATION = HW_STORAGE_MANAGER__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__BASE_CLASSIFIER = HW_STORAGE_MANAGER__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__BASE_LIFELINE = HW_STORAGE_MANAGER__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__BASE_CONNECTABLE_ELEMENT = HW_STORAGE_MANAGER__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__DESCRIPTION = HW_STORAGE_MANAGER__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__PHW_SERVICES = HW_STORAGE_MANAGER__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__RHW_SERVICES = HW_STORAGE_MANAGER__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__OWNED_HW = HW_STORAGE_MANAGER__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__END_POINTS = HW_STORAGE_MANAGER__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__FREQUENCY = HW_STORAGE_MANAGER__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__ELEMENT_SIZE = HW_STORAGE_MANAGER__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Managed Memories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__MANAGED_MEMORIES = HW_STORAGE_MANAGER__MANAGED_MEMORIES;
+
+ /**
+ * The feature id for the '<em><b>Virtual Addr Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__VIRTUAL_ADDR_SPACE = HW_STORAGE_MANAGER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Physical Addr Space</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__PHYSICAL_ADDR_SPACE = HW_STORAGE_MANAGER_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Memory Protection</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__MEMORY_PROTECTION = HW_STORAGE_MANAGER_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Nb Entries</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__NB_ENTRIES = HW_STORAGE_MANAGER_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Owned TL Bs</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU__OWNED_TL_BS = HW_STORAGE_MANAGER_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Hw MMU</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_MMU_FEATURE_COUNT = HW_STORAGE_MANAGER_FEATURE_COUNT + 5;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager <em>Hw Storage Manager</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Storage Manager</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager
+ * @generated
+ */
+ EClass getHwStorageManager();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager#getManagedMemories <em>Managed Memories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Managed Memories</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager#getManagedMemories()
+ * @see #getHwStorageManager()
+ * @generated
+ */
+ EReference getHwStorageManager_ManagedMemories();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA <em>Hw DMA</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw DMA</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA
+ * @generated
+ */
+ EClass getHwDMA();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getNbChannels <em>Nb Channels</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Channels</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getNbChannels()
+ * @see #getHwDMA()
+ * @generated
+ */
+ EAttribute getHwDMA_NbChannels();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getTransferWidth <em>Transfer Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Transfer Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getTransferWidth()
+ * @see #getHwDMA()
+ * @generated
+ */
+ EAttribute getHwDMA_TransferWidth();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getDrivenBy <em>Driven By</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Driven By</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA#getDrivenBy()
+ * @see #getHwDMA()
+ * @generated
+ */
+ EReference getHwDMA_DrivenBy();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU <em>Hw MMU</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw MMU</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU
+ * @generated
+ */
+ EClass getHwMMU();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getVirtualAddrSpace <em>Virtual Addr Space</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Virtual Addr Space</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getVirtualAddrSpace()
+ * @see #getHwMMU()
+ * @generated
+ */
+ EAttribute getHwMMU_VirtualAddrSpace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getPhysicalAddrSpace <em>Physical Addr Space</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Physical Addr Space</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getPhysicalAddrSpace()
+ * @see #getHwMMU()
+ * @generated
+ */
+ EAttribute getHwMMU_PhysicalAddrSpace();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getMemoryProtection <em>Memory Protection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Memory Protection</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getMemoryProtection()
+ * @see #getHwMMU()
+ * @generated
+ */
+ EAttribute getHwMMU_MemoryProtection();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getNbEntries <em>Nb Entries</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Entries</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getNbEntries()
+ * @see #getHwMMU()
+ * @generated
+ */
+ EAttribute getHwMMU_NbEntries();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getOwnedTLBs <em>Owned TL Bs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Owned TL Bs</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU#getOwnedTLBs()
+ * @see #getHwMMU()
+ * @generated
+ */
+ EReference getHwMMU_OwnedTLBs();
+
+ /**
+ * 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
+ */
+ HwStorageManagerFactory getHwStorageManagerFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl <em>Hw Storage Manager</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwStorageManager()
+ * @generated
+ */
+ EClass HW_STORAGE_MANAGER = eINSTANCE.getHwStorageManager();
+
+ /**
+ * The meta object literal for the '<em><b>Managed Memories</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_STORAGE_MANAGER__MANAGED_MEMORIES = eINSTANCE.getHwStorageManager_ManagedMemories();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl <em>Hw DMA</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwDMA()
+ * @generated
+ */
+ EClass HW_DMA = eINSTANCE.getHwDMA();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Channels</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_DMA__NB_CHANNELS = eINSTANCE.getHwDMA_NbChannels();
+
+ /**
+ * The meta object literal for the '<em><b>Transfer Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_DMA__TRANSFER_WIDTH = eINSTANCE.getHwDMA_TransferWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Driven By</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_DMA__DRIVEN_BY = eINSTANCE.getHwDMA_DrivenBy();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl <em>Hw MMU</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl#getHwMMU()
+ * @generated
+ */
+ EClass HW_MMU = eINSTANCE.getHwMMU();
+
+ /**
+ * The meta object literal for the '<em><b>Virtual Addr Space</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MMU__VIRTUAL_ADDR_SPACE = eINSTANCE.getHwMMU_VirtualAddrSpace();
+
+ /**
+ * The meta object literal for the '<em><b>Physical Addr Space</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MMU__PHYSICAL_ADDR_SPACE = eINSTANCE.getHwMMU_PhysicalAddrSpace();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Protection</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MMU__MEMORY_PROTECTION = eINSTANCE.getHwMMU_MemoryProtection();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Entries</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_MMU__NB_ENTRIES = eINSTANCE.getHwMMU_NbEntries();
+
+ /**
+ * The meta object literal for the '<em><b>Owned TL Bs</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_MMU__OWNED_TL_BS = eINSTANCE.getHwMMU_OwnedTLBs();
+
+ }
+
+} //HwStorageManagerPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwDMAImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwDMAImpl.java
new file mode 100644
index 00000000000..b3f9242e5f9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwDMAImpl.java
@@ -0,0 +1,384 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwMedia;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw DMA</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl#getControlledMedias <em>Controlled Medias</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl#getNbChannels <em>Nb Channels</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl#getTransferWidth <em>Transfer Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwDMAImpl#getDrivenBy <em>Driven By</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwDMAImpl extends HwStorageManagerImpl implements HwDMA {
+ /**
+ * The cached value of the '{@link #getControlledMedias() <em>Controlled Medias</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControlledMedias()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMedia> controlledMedias;
+
+ /**
+ * The default value of the '{@link #getNbChannels() <em>Nb Channels</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbChannels()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_CHANNELS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbChannels() <em>Nb Channels</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbChannels()
+ * @generated
+ * @ordered
+ */
+ protected String nbChannels = NB_CHANNELS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTransferWidth() <em>Transfer Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransferWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final String TRANSFER_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTransferWidth() <em>Transfer Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransferWidth()
+ * @generated
+ * @ordered
+ */
+ protected String transferWidth = TRANSFER_WIDTH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDrivenBy() <em>Driven By</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDrivenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwProcessor> drivenBy;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwDMAImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwStorageManagerPackage.Literals.HW_DMA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMedia> getControlledMedias() {
+ if (controlledMedias == null) {
+ controlledMedias = new EObjectWithInverseResolvingEList.ManyInverse<HwMedia>(HwMedia.class, this, HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS, HwCommunicationPackage.HW_MEDIA__ARBITERS);
+ }
+ return controlledMedias;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbChannels() {
+ return nbChannels;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbChannels(String newNbChannels) {
+ String oldNbChannels = nbChannels;
+ nbChannels = newNbChannels;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_DMA__NB_CHANNELS, oldNbChannels, nbChannels));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTransferWidth() {
+ return transferWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransferWidth(String newTransferWidth) {
+ String oldTransferWidth = transferWidth;
+ transferWidth = newTransferWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_DMA__TRANSFER_WIDTH, oldTransferWidth, transferWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwProcessor> getDrivenBy() {
+ if (drivenBy == null) {
+ drivenBy = new EObjectResolvingEList<HwProcessor>(HwProcessor.class, this, HwStorageManagerPackage.HW_DMA__DRIVEN_BY);
+ }
+ return drivenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getControlledMedias()).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 HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ return ((InternalEList<?>)getControlledMedias()).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 HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ return getControlledMedias();
+ case HwStorageManagerPackage.HW_DMA__NB_CHANNELS:
+ return getNbChannels();
+ case HwStorageManagerPackage.HW_DMA__TRANSFER_WIDTH:
+ return getTransferWidth();
+ case HwStorageManagerPackage.HW_DMA__DRIVEN_BY:
+ return getDrivenBy();
+ }
+ 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 HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ getControlledMedias().clear();
+ getControlledMedias().addAll((Collection<? extends HwMedia>)newValue);
+ return;
+ case HwStorageManagerPackage.HW_DMA__NB_CHANNELS:
+ setNbChannels((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_DMA__TRANSFER_WIDTH:
+ setTransferWidth((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_DMA__DRIVEN_BY:
+ getDrivenBy().clear();
+ getDrivenBy().addAll((Collection<? extends HwProcessor>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ getControlledMedias().clear();
+ return;
+ case HwStorageManagerPackage.HW_DMA__NB_CHANNELS:
+ setNbChannels(NB_CHANNELS_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_DMA__TRANSFER_WIDTH:
+ setTransferWidth(TRANSFER_WIDTH_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_DMA__DRIVEN_BY:
+ getDrivenBy().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS:
+ return controlledMedias != null && !controlledMedias.isEmpty();
+ case HwStorageManagerPackage.HW_DMA__NB_CHANNELS:
+ return NB_CHANNELS_EDEFAULT == null ? nbChannels != null : !NB_CHANNELS_EDEFAULT.equals(nbChannels);
+ case HwStorageManagerPackage.HW_DMA__TRANSFER_WIDTH:
+ return TRANSFER_WIDTH_EDEFAULT == null ? transferWidth != null : !TRANSFER_WIDTH_EDEFAULT.equals(transferWidth);
+ case HwStorageManagerPackage.HW_DMA__DRIVEN_BY:
+ return drivenBy != null && !drivenBy.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == HwCommunicationResource.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == HwArbiter.class) {
+ switch (derivedFeatureID) {
+ case HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS: return HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS;
+ 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 == HwCommunicationResource.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == HwArbiter.class) {
+ switch (baseFeatureID) {
+ case HwCommunicationPackage.HW_ARBITER__CONTROLLED_MEDIAS: return HwStorageManagerPackage.HW_DMA__CONTROLLED_MEDIAS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (nbChannels: ");
+ result.append(nbChannels);
+ result.append(", transferWidth: ");
+ result.append(transferWidth);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwDMAImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwMMUImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwMMUImpl.java
new file mode 100644
index 00000000000..80edfeb707c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwMMUImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwCache;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw MMU</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl#getVirtualAddrSpace <em>Virtual Addr Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl#getPhysicalAddrSpace <em>Physical Addr Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl#getMemoryProtection <em>Memory Protection</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl#getNbEntries <em>Nb Entries</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwMMUImpl#getOwnedTLBs <em>Owned TL Bs</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwMMUImpl extends HwStorageManagerImpl implements HwMMU {
+ /**
+ * The default value of the '{@link #getVirtualAddrSpace() <em>Virtual Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVirtualAddrSpace()
+ * @generated
+ * @ordered
+ */
+ protected static final String VIRTUAL_ADDR_SPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getVirtualAddrSpace() <em>Virtual Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVirtualAddrSpace()
+ * @generated
+ * @ordered
+ */
+ protected String virtualAddrSpace = VIRTUAL_ADDR_SPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPhysicalAddrSpace() <em>Physical Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPhysicalAddrSpace()
+ * @generated
+ * @ordered
+ */
+ protected static final String PHYSICAL_ADDR_SPACE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPhysicalAddrSpace() <em>Physical Addr Space</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPhysicalAddrSpace()
+ * @generated
+ * @ordered
+ */
+ protected String physicalAddrSpace = PHYSICAL_ADDR_SPACE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMemoryProtection() <em>Memory Protection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemoryProtection()
+ * @generated
+ * @ordered
+ */
+ protected static final String MEMORY_PROTECTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMemoryProtection() <em>Memory Protection</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemoryProtection()
+ * @generated
+ * @ordered
+ */
+ protected String memoryProtection = MEMORY_PROTECTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNbEntries() <em>Nb Entries</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbEntries()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_ENTRIES_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOwnedTLBs() <em>Owned TL Bs</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedTLBs()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwCache> ownedTLBs;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwMMUImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwStorageManagerPackage.Literals.HW_MMU;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getVirtualAddrSpace() {
+ return virtualAddrSpace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVirtualAddrSpace(String newVirtualAddrSpace) {
+ String oldVirtualAddrSpace = virtualAddrSpace;
+ virtualAddrSpace = newVirtualAddrSpace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_MMU__VIRTUAL_ADDR_SPACE, oldVirtualAddrSpace, virtualAddrSpace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPhysicalAddrSpace() {
+ return physicalAddrSpace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPhysicalAddrSpace(String newPhysicalAddrSpace) {
+ String oldPhysicalAddrSpace = physicalAddrSpace;
+ physicalAddrSpace = newPhysicalAddrSpace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_MMU__PHYSICAL_ADDR_SPACE, oldPhysicalAddrSpace, physicalAddrSpace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMemoryProtection() {
+ return memoryProtection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemoryProtection(String newMemoryProtection) {
+ String oldMemoryProtection = memoryProtection;
+ memoryProtection = newMemoryProtection;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_MMU__MEMORY_PROTECTION, oldMemoryProtection, memoryProtection));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String getNbEntries() {
+ // TODO: implement this method to return the 'Nb Entries' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+
+ return String.valueOf(getOwnedTLBs().size());
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbEntries(String newNbEntries) {
+ // TODO: implement this method to set the 'Nb Entries' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwCache> getOwnedTLBs() {
+ if (ownedTLBs == null) {
+ ownedTLBs = new EObjectResolvingEList<HwCache>(HwCache.class, this, HwStorageManagerPackage.HW_MMU__OWNED_TL_BS);
+ }
+ return ownedTLBs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_MMU__VIRTUAL_ADDR_SPACE:
+ return getVirtualAddrSpace();
+ case HwStorageManagerPackage.HW_MMU__PHYSICAL_ADDR_SPACE:
+ return getPhysicalAddrSpace();
+ case HwStorageManagerPackage.HW_MMU__MEMORY_PROTECTION:
+ return getMemoryProtection();
+ case HwStorageManagerPackage.HW_MMU__NB_ENTRIES:
+ return getNbEntries();
+ case HwStorageManagerPackage.HW_MMU__OWNED_TL_BS:
+ return getOwnedTLBs();
+ }
+ 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 HwStorageManagerPackage.HW_MMU__VIRTUAL_ADDR_SPACE:
+ setVirtualAddrSpace((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_MMU__PHYSICAL_ADDR_SPACE:
+ setPhysicalAddrSpace((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_MMU__MEMORY_PROTECTION:
+ setMemoryProtection((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_MMU__NB_ENTRIES:
+ setNbEntries((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_MMU__OWNED_TL_BS:
+ getOwnedTLBs().clear();
+ getOwnedTLBs().addAll((Collection<? extends HwCache>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_MMU__VIRTUAL_ADDR_SPACE:
+ setVirtualAddrSpace(VIRTUAL_ADDR_SPACE_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_MMU__PHYSICAL_ADDR_SPACE:
+ setPhysicalAddrSpace(PHYSICAL_ADDR_SPACE_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_MMU__MEMORY_PROTECTION:
+ setMemoryProtection(MEMORY_PROTECTION_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_MMU__NB_ENTRIES:
+ setNbEntries(NB_ENTRIES_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_MMU__OWNED_TL_BS:
+ getOwnedTLBs().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_MMU__VIRTUAL_ADDR_SPACE:
+ return VIRTUAL_ADDR_SPACE_EDEFAULT == null ? virtualAddrSpace != null : !VIRTUAL_ADDR_SPACE_EDEFAULT.equals(virtualAddrSpace);
+ case HwStorageManagerPackage.HW_MMU__PHYSICAL_ADDR_SPACE:
+ return PHYSICAL_ADDR_SPACE_EDEFAULT == null ? physicalAddrSpace != null : !PHYSICAL_ADDR_SPACE_EDEFAULT.equals(physicalAddrSpace);
+ case HwStorageManagerPackage.HW_MMU__MEMORY_PROTECTION:
+ return MEMORY_PROTECTION_EDEFAULT == null ? memoryProtection != null : !MEMORY_PROTECTION_EDEFAULT.equals(memoryProtection);
+ case HwStorageManagerPackage.HW_MMU__NB_ENTRIES:
+ return NB_ENTRIES_EDEFAULT == null ? getNbEntries() != null : !NB_ENTRIES_EDEFAULT.equals(getNbEntries());
+ case HwStorageManagerPackage.HW_MMU__OWNED_TL_BS:
+ return ownedTLBs != null && !ownedTLBs.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (virtualAddrSpace: ");
+ result.append(virtualAddrSpace);
+ result.append(", physicalAddrSpace: ");
+ result.append(physicalAddrSpace);
+ result.append(", memoryProtection: ");
+ result.append(memoryProtection);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwMMUImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerFactoryImpl.java
new file mode 100644
index 00000000000..b86a3e17332
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwStorageManagerFactoryImpl extends EFactoryImpl implements HwStorageManagerFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwStorageManagerFactory init() {
+ try {
+ HwStorageManagerFactory theHwStorageManagerFactory = (HwStorageManagerFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwStorageManager/1");
+ if (theHwStorageManagerFactory != null) {
+ return theHwStorageManagerFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwStorageManagerFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER: return createHwStorageManager();
+ case HwStorageManagerPackage.HW_DMA: return createHwDMA();
+ case HwStorageManagerPackage.HW_MMU: return createHwMMU();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManager createHwStorageManager() {
+ HwStorageManagerImpl hwStorageManager = new HwStorageManagerImpl();
+ return hwStorageManager;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwDMA createHwDMA() {
+ HwDMAImpl hwDMA = new HwDMAImpl();
+ return hwDMA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwMMU createHwMMU() {
+ HwMMUImpl hwMMU = new HwMMUImpl();
+ return hwMMU;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerPackage getHwStorageManagerPackage() {
+ return (HwStorageManagerPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwStorageManagerPackage getPackage() {
+ return HwStorageManagerPackage.eINSTANCE;
+ }
+
+} //HwStorageManagerFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerImpl.java
new file mode 100644
index 00000000000..35a1a65a4fd
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemory;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Storage Manager</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl#getElementSize <em>Element Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerImpl#getManagedMemories <em>Managed Memories</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwStorageManagerImpl extends HwResourceImpl implements HwStorageManager {
+ /**
+ * The default value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected String elementSize = ELEMENT_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getManagedMemories() <em>Managed Memories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getManagedMemories()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwMemory> managedMemories;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwStorageManagerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwStorageManagerPackage.Literals.HW_STORAGE_MANAGER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElementSize() {
+ return elementSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementSize(String newElementSize) {
+ String oldElementSize = elementSize;
+ elementSize = newElementSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE, oldElementSize, elementSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwMemory> getManagedMemories() {
+ if (managedMemories == null) {
+ managedMemories = new EObjectResolvingEList<HwMemory>(HwMemory.class, this, HwStorageManagerPackage.HW_STORAGE_MANAGER__MANAGED_MEMORIES);
+ }
+ return managedMemories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE:
+ return getElementSize();
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__MANAGED_MEMORIES:
+ return getManagedMemories();
+ }
+ 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 HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE:
+ setElementSize((String)newValue);
+ return;
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__MANAGED_MEMORIES:
+ getManagedMemories().clear();
+ getManagedMemories().addAll((Collection<? extends HwMemory>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE:
+ setElementSize(ELEMENT_SIZE_EDEFAULT);
+ return;
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__MANAGED_MEMORIES:
+ getManagedMemories().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE:
+ return ELEMENT_SIZE_EDEFAULT == null ? elementSize != null : !ELEMENT_SIZE_EDEFAULT.equals(elementSize);
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__MANAGED_MEMORIES:
+ return managedMemories != null && !managedMemories.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == StorageResource.class) {
+ switch (derivedFeatureID) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE: return GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE;
+ 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 == StorageResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE: return HwStorageManagerPackage.HW_STORAGE_MANAGER__ELEMENT_SIZE;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (elementSize: ");
+ result.append(elementSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwStorageManagerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerPackageImpl.java
new file mode 100644
index 00000000000..a9484bb5f6d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/impl/HwStorageManagerPackageImpl.java
@@ -0,0 +1,603 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwStorageManagerPackageImpl extends EPackageImpl implements HwStorageManagerPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwStorageManagerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwDMAEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwMMUEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwStorageManagerPackageImpl() {
+ super(eNS_URI, HwStorageManagerFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwStorageManagerPackage#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 HwStorageManagerPackage init() {
+ if (isInited) return (HwStorageManagerPackage)EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwStorageManagerPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwStorageManagerPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwStorageManagerPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwStorageManagerPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwStorageManagerPackage.eNS_URI, theHwStorageManagerPackage);
+ return theHwStorageManagerPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwStorageManager() {
+ return hwStorageManagerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwStorageManager_ManagedMemories() {
+ return (EReference)hwStorageManagerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwDMA() {
+ return hwDMAEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwDMA_NbChannels() {
+ return (EAttribute)hwDMAEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwDMA_TransferWidth() {
+ return (EAttribute)hwDMAEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwDMA_DrivenBy() {
+ return (EReference)hwDMAEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwMMU() {
+ return hwMMUEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMMU_VirtualAddrSpace() {
+ return (EAttribute)hwMMUEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMMU_PhysicalAddrSpace() {
+ return (EAttribute)hwMMUEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMMU_MemoryProtection() {
+ return (EAttribute)hwMMUEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwMMU_NbEntries() {
+ return (EAttribute)hwMMUEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwMMU_OwnedTLBs() {
+ return (EReference)hwMMUEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerFactory getHwStorageManagerFactory() {
+ return (HwStorageManagerFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwStorageManagerEClass = createEClass(HW_STORAGE_MANAGER);
+ createEReference(hwStorageManagerEClass, HW_STORAGE_MANAGER__MANAGED_MEMORIES);
+
+ hwDMAEClass = createEClass(HW_DMA);
+ createEAttribute(hwDMAEClass, HW_DMA__NB_CHANNELS);
+ createEAttribute(hwDMAEClass, HW_DMA__TRANSFER_WIDTH);
+ createEReference(hwDMAEClass, HW_DMA__DRIVEN_BY);
+
+ hwMMUEClass = createEClass(HW_MMU);
+ createEAttribute(hwMMUEClass, HW_MMU__VIRTUAL_ADDR_SPACE);
+ createEAttribute(hwMMUEClass, HW_MMU__PHYSICAL_ADDR_SPACE);
+ createEAttribute(hwMMUEClass, HW_MMU__MEMORY_PROTECTION);
+ createEAttribute(hwMMUEClass, HW_MMU__NB_ENTRIES);
+ createEReference(hwMMUEClass, HW_MMU__OWNED_TL_BS);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ HwMemoryPackage theHwMemoryPackage = (HwMemoryPackage)EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI);
+ HwCommunicationPackage theHwCommunicationPackage = (HwCommunicationPackage)EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ HwComputingPackage theHwComputingPackage = (HwComputingPackage)EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwStorageManagerEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwStorageManagerEClass.getESuperTypes().add(theGRMPackage.getStorageResource());
+ hwDMAEClass.getESuperTypes().add(this.getHwStorageManager());
+ hwDMAEClass.getESuperTypes().add(theHwCommunicationPackage.getHwArbiter());
+ hwMMUEClass.getESuperTypes().add(this.getHwStorageManager());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwStorageManagerEClass, HwStorageManager.class, "HwStorageManager", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getHwStorageManager_ManagedMemories(), theHwMemoryPackage.getHwMemory(), null, "managedMemories", null, 0, -1, HwStorageManager.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwDMAEClass, HwDMA.class, "HwDMA", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwDMA_NbChannels(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbChannels", null, 0, 1, HwDMA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwDMA_TransferWidth(), theBasicNFP_TypesPackage.getNFP_DataSize(), "transferWidth", null, 0, 1, HwDMA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwDMA_DrivenBy(), theHwComputingPackage.getHwProcessor(), null, "drivenBy", null, 0, -1, HwDMA.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwMMUEClass, HwMMU.class, "HwMMU", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwMMU_VirtualAddrSpace(), theBasicNFP_TypesPackage.getNFP_DataSize(), "virtualAddrSpace", null, 0, 1, HwMMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMMU_PhysicalAddrSpace(), theBasicNFP_TypesPackage.getNFP_DataSize(), "physicalAddrSpace", null, 0, 1, HwMMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMMU_MemoryProtection(), theBasicNFP_TypesPackage.getNFP_Boolean(), "memoryProtection", null, 0, 1, HwMMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwMMU_NbEntries(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbEntries", null, 0, 1, HwMMU.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwMMU_OwnedTLBs(), theHwMemoryPackage.getHwCache(), null, "ownedTLBs", null, 0, -1, HwMMU.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Create annotations
+ // subsets
+ createSubsetsAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>subsets</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createSubsetsAnnotations() {
+ String source = "subsets";
+ addAnnotation
+ (getHwMMU_OwnedTLBs(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ }
+
+} //HwStorageManagerPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerAdapterFactory.java
new file mode 100644
index 00000000000..14ccf5fe581
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage
+ * @generated
+ */
+public class HwStorageManagerAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwStorageManagerPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwStorageManagerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwStorageManagerSwitch<Adapter> modelSwitch =
+ new HwStorageManagerSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwStorageManager(HwStorageManager object) {
+ return createHwStorageManagerAdapter();
+ }
+ @Override
+ public Adapter caseHwDMA(HwDMA object) {
+ return createHwDMAAdapter();
+ }
+ @Override
+ public Adapter caseHwMMU(HwMMU object) {
+ return createHwMMUAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseStorageResource(StorageResource object) {
+ return createStorageResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwCommunicationResource(HwCommunicationResource object) {
+ return createHwCommunicationResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwArbiter(HwArbiter object) {
+ return createHwArbiterAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager <em>Hw Storage 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManager
+ * @generated
+ */
+ public Adapter createHwStorageManagerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA <em>Hw DMA</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwDMA
+ * @generated
+ */
+ public Adapter createHwDMAAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU <em>Hw MMU</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwMMU
+ * @generated
+ */
+ public Adapter createHwMMUAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource <em>Storage Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource
+ * @generated
+ */
+ public Adapter createStorageResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource
+ * @generated
+ */
+ public Adapter createHwCommunicationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter <em>Hw Arbiter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter
+ * @generated
+ */
+ public Adapter createHwArbiterAdapter() {
+ 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;
+ }
+
+} //HwStorageManagerAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceFactoryImpl.java
new file mode 100644
index 00000000000..29683dcef63
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.util.HwStorageManagerResourceImpl
+ * @generated
+ */
+public class HwStorageManagerResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwStorageManagerResourceImpl(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;
+ }
+
+} //HwStorageManagerResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceImpl.java
new file mode 100644
index 00000000000..ca143c3ed58
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.util.HwStorageManagerResourceFactoryImpl
+ * @generated
+ */
+public class HwStorageManagerResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwStorageManagerResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwStorageManagerResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerSwitch.java
new file mode 100644
index 00000000000..252d8f5c54e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerSwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwArbiter;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage
+ * @generated
+ */
+public class HwStorageManagerSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwStorageManagerPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwStorageManagerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwStorageManagerPackage.HW_STORAGE_MANAGER: {
+ HwStorageManager hwStorageManager = (HwStorageManager)theEObject;
+ T result = caseHwStorageManager(hwStorageManager);
+ if (result == null) result = caseHwResource(hwStorageManager);
+ if (result == null) result = caseStorageResource(hwStorageManager);
+ if (result == null) result = caseResource(hwStorageManager);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwStorageManagerPackage.HW_DMA: {
+ HwDMA hwDMA = (HwDMA)theEObject;
+ T result = caseHwDMA(hwDMA);
+ if (result == null) result = caseHwStorageManager(hwDMA);
+ if (result == null) result = caseHwArbiter(hwDMA);
+ if (result == null) result = caseStorageResource(hwDMA);
+ if (result == null) result = caseHwCommunicationResource(hwDMA);
+ if (result == null) result = caseHwResource(hwDMA);
+ if (result == null) result = caseResource(hwDMA);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwStorageManagerPackage.HW_MMU: {
+ HwMMU hwMMU = (HwMMU)theEObject;
+ T result = caseHwMMU(hwMMU);
+ if (result == null) result = caseHwStorageManager(hwMMU);
+ if (result == null) result = caseHwResource(hwMMU);
+ if (result == null) result = caseStorageResource(hwMMU);
+ if (result == null) result = caseResource(hwMMU);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Storage 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>Hw Storage Manager</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwStorageManager(HwStorageManager object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw DMA</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw DMA</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwDMA(HwDMA object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw MMU</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw MMU</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwMMU(HwMMU object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Storage Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Storage Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStorageResource(StorageResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwCommunicationResource(HwCommunicationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Arbiter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Arbiter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwArbiter(HwArbiter 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwStorageManagerSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerXMLProcessor.java
new file mode 100644
index 00000000000..19f798278fe
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwStorage/HwStorageManager/util/HwStorageManagerXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwStorageManagerXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwStorageManagerXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwStorageManagerPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwStorageManagerResourceFactoryImpl 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 HwStorageManagerResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwStorageManagerResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwStorageManagerXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock.java
new file mode 100644
index 00000000000..40e8aebddbe
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwClock.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Clock</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwClock()
+ * @model
+ * @generated
+ */
+public interface HwClock extends HwTimingResource {
+} // HwClock
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer.java
new file mode 100644
index 00000000000..11d6e098c1a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimer.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Timer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getNbCounters <em>Nb Counters</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getCounterWidth <em>Counter Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getInputClock <em>Input Clock</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwTimer()
+ * @model
+ * @generated
+ */
+public interface HwTimer extends HwTimingResource {
+ /**
+ * Returns the value of the '<em><b>Nb Counters</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Counters</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Counters</em>' attribute.
+ * @see #setNbCounters(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwTimer_NbCounters()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbCounters();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getNbCounters <em>Nb Counters</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Counters</em>' attribute.
+ * @see #getNbCounters()
+ * @generated
+ */
+ void setNbCounters(String value);
+
+ /**
+ * Returns the value of the '<em><b>Counter Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Counter Width</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Counter Width</em>' attribute.
+ * @see #setCounterWidth(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwTimer_CounterWidth()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_DataSize" ordered="false"
+ * @generated
+ */
+ String getCounterWidth();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getCounterWidth <em>Counter Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Counter Width</em>' attribute.
+ * @see #getCounterWidth()
+ * @generated
+ */
+ void setCounterWidth(String value);
+
+ /**
+ * Returns the value of the '<em><b>Input Clock</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Input Clock</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Input Clock</em>' reference.
+ * @see #setInputClock(HwClock)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwTimer_InputClock()
+ * @model ordered="false"
+ * @generated
+ */
+ HwClock getInputClock();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getInputClock <em>Input Clock</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Input Clock</em>' reference.
+ * @see #getInputClock()
+ * @generated
+ */
+ void setInputClock(HwClock value);
+
+} // HwTimer
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingFactory.java
new file mode 100644
index 00000000000..606b5d9260b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingFactory.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming;
+
+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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage
+ * @generated
+ */
+public interface HwTimingFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwTimingFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Resource</em>'.
+ * @generated
+ */
+ HwTimingResource createHwTimingResource();
+
+ /**
+ * Returns a new object of class '<em>Hw Clock</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Clock</em>'.
+ * @generated
+ */
+ HwClock createHwClock();
+
+ /**
+ * Returns a new object of class '<em>Hw Timer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Timer</em>'.
+ * @generated
+ */
+ HwTimer createHwTimer();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwTimingPackage getHwTimingPackage();
+
+} //HwTimingFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingPackage.java
new file mode 100644
index 00000000000..91f87650af2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingPackage.java
@@ -0,0 +1,675 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwTimingPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwTiming";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwTiming/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwTiming";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwTimingPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwTimingResource()
+ * @generated
+ */
+ int HW_TIMING_RESOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The number of structural features of the '<em>Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMING_RESOURCE_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwClockImpl <em>Hw Clock</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwClockImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwClock()
+ * @generated
+ */
+ int HW_CLOCK = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__RES_MULT = HW_TIMING_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__IS_PROTECTED = HW_TIMING_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__IS_ACTIVE = HW_TIMING_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__BASE_PROPERTY = HW_TIMING_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__BASE_INSTANCE_SPECIFICATION = HW_TIMING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__BASE_CLASSIFIER = HW_TIMING_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__BASE_LIFELINE = HW_TIMING_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__BASE_CONNECTABLE_ELEMENT = HW_TIMING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__DESCRIPTION = HW_TIMING_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__PHW_SERVICES = HW_TIMING_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__RHW_SERVICES = HW_TIMING_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__OWNED_HW = HW_TIMING_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__END_POINTS = HW_TIMING_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK__FREQUENCY = HW_TIMING_RESOURCE__FREQUENCY;
+
+ /**
+ * The number of structural features of the '<em>Hw Clock</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_CLOCK_FEATURE_COUNT = HW_TIMING_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl <em>Hw Timer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwTimer()
+ * @generated
+ */
+ int HW_TIMER = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__RES_MULT = HW_TIMING_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__IS_PROTECTED = HW_TIMING_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__IS_ACTIVE = HW_TIMING_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__BASE_PROPERTY = HW_TIMING_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__BASE_INSTANCE_SPECIFICATION = HW_TIMING_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__BASE_CLASSIFIER = HW_TIMING_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__BASE_LIFELINE = HW_TIMING_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__BASE_CONNECTABLE_ELEMENT = HW_TIMING_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__DESCRIPTION = HW_TIMING_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__PHW_SERVICES = HW_TIMING_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__RHW_SERVICES = HW_TIMING_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__OWNED_HW = HW_TIMING_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__END_POINTS = HW_TIMING_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__FREQUENCY = HW_TIMING_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Nb Counters</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__NB_COUNTERS = HW_TIMING_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Counter Width</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__COUNTER_WIDTH = HW_TIMING_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Input Clock</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER__INPUT_CLOCK = HW_TIMING_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Hw Timer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_TIMER_FEATURE_COUNT = HW_TIMING_RESOURCE_FEATURE_COUNT + 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource
+ * @generated
+ */
+ EClass getHwTimingResource();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock <em>Hw Clock</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Clock</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock
+ * @generated
+ */
+ EClass getHwClock();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer <em>Hw Timer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Timer</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer
+ * @generated
+ */
+ EClass getHwTimer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getNbCounters <em>Nb Counters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Counters</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getNbCounters()
+ * @see #getHwTimer()
+ * @generated
+ */
+ EAttribute getHwTimer_NbCounters();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getCounterWidth <em>Counter Width</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Counter Width</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getCounterWidth()
+ * @see #getHwTimer()
+ * @generated
+ */
+ EAttribute getHwTimer_CounterWidth();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getInputClock <em>Input Clock</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Input Clock</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer#getInputClock()
+ * @see #getHwTimer()
+ * @generated
+ */
+ EReference getHwTimer_InputClock();
+
+ /**
+ * 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
+ */
+ HwTimingFactory getHwTimingFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingResourceImpl <em>Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwTimingResource()
+ * @generated
+ */
+ EClass HW_TIMING_RESOURCE = eINSTANCE.getHwTimingResource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwClockImpl <em>Hw Clock</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwClockImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwClock()
+ * @generated
+ */
+ EClass HW_CLOCK = eINSTANCE.getHwClock();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl <em>Hw Timer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl#getHwTimer()
+ * @generated
+ */
+ EClass HW_TIMER = eINSTANCE.getHwTimer();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Counters</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_TIMER__NB_COUNTERS = eINSTANCE.getHwTimer_NbCounters();
+
+ /**
+ * The meta object literal for the '<em><b>Counter Width</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_TIMER__COUNTER_WIDTH = eINSTANCE.getHwTimer_CounterWidth();
+
+ /**
+ * The meta object literal for the '<em><b>Input Clock</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_TIMER__INPUT_CLOCK = eINSTANCE.getHwTimer_InputClock();
+
+ }
+
+} //HwTimingPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource.java
new file mode 100644
index 00000000000..dec476270f8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/HwTimingResource.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#getHwTimingResource()
+ * @model
+ * @generated
+ */
+public interface HwTimingResource extends HwResource, TimingResource {
+} // HwTimingResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwClockImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwClockImpl.java
new file mode 100644
index 00000000000..b38b9014c92
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwClockImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Clock</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwClockImpl extends HwTimingResourceImpl implements HwClock {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwClockImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwTimingPackage.Literals.HW_CLOCK;
+ }
+
+} //HwClockImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimerImpl.java
new file mode 100644
index 00000000000..6adbfb08693
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimerImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Timer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl#getNbCounters <em>Nb Counters</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl#getCounterWidth <em>Counter Width</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimerImpl#getInputClock <em>Input Clock</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwTimerImpl extends HwTimingResourceImpl implements HwTimer {
+ /**
+ * The default value of the '{@link #getNbCounters() <em>Nb Counters</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbCounters()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_COUNTERS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbCounters() <em>Nb Counters</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbCounters()
+ * @generated
+ * @ordered
+ */
+ protected String nbCounters = NB_COUNTERS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCounterWidth() <em>Counter Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounterWidth()
+ * @generated
+ * @ordered
+ */
+ protected static final String COUNTER_WIDTH_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCounterWidth() <em>Counter Width</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCounterWidth()
+ * @generated
+ * @ordered
+ */
+ protected String counterWidth = COUNTER_WIDTH_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInputClock() <em>Input Clock</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInputClock()
+ * @generated
+ * @ordered
+ */
+ protected HwClock inputClock;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwTimerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwTimingPackage.Literals.HW_TIMER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbCounters() {
+ return nbCounters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbCounters(String newNbCounters) {
+ String oldNbCounters = nbCounters;
+ nbCounters = newNbCounters;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwTimingPackage.HW_TIMER__NB_COUNTERS, oldNbCounters, nbCounters));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCounterWidth() {
+ return counterWidth;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCounterWidth(String newCounterWidth) {
+ String oldCounterWidth = counterWidth;
+ counterWidth = newCounterWidth;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwTimingPackage.HW_TIMER__COUNTER_WIDTH, oldCounterWidth, counterWidth));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwClock getInputClock() {
+ if (inputClock != null && inputClock.eIsProxy()) {
+ InternalEObject oldInputClock = (InternalEObject)inputClock;
+ inputClock = (HwClock)eResolveProxy(oldInputClock);
+ if (inputClock != oldInputClock) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, HwTimingPackage.HW_TIMER__INPUT_CLOCK, oldInputClock, inputClock));
+ }
+ }
+ return inputClock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwClock basicGetInputClock() {
+ return inputClock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInputClock(HwClock newInputClock) {
+ HwClock oldInputClock = inputClock;
+ inputClock = newInputClock;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwTimingPackage.HW_TIMER__INPUT_CLOCK, oldInputClock, inputClock));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwTimingPackage.HW_TIMER__NB_COUNTERS:
+ return getNbCounters();
+ case HwTimingPackage.HW_TIMER__COUNTER_WIDTH:
+ return getCounterWidth();
+ case HwTimingPackage.HW_TIMER__INPUT_CLOCK:
+ if (resolve) return getInputClock();
+ return basicGetInputClock();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwTimingPackage.HW_TIMER__NB_COUNTERS:
+ setNbCounters((String)newValue);
+ return;
+ case HwTimingPackage.HW_TIMER__COUNTER_WIDTH:
+ setCounterWidth((String)newValue);
+ return;
+ case HwTimingPackage.HW_TIMER__INPUT_CLOCK:
+ setInputClock((HwClock)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwTimingPackage.HW_TIMER__NB_COUNTERS:
+ setNbCounters(NB_COUNTERS_EDEFAULT);
+ return;
+ case HwTimingPackage.HW_TIMER__COUNTER_WIDTH:
+ setCounterWidth(COUNTER_WIDTH_EDEFAULT);
+ return;
+ case HwTimingPackage.HW_TIMER__INPUT_CLOCK:
+ setInputClock((HwClock)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwTimingPackage.HW_TIMER__NB_COUNTERS:
+ return NB_COUNTERS_EDEFAULT == null ? nbCounters != null : !NB_COUNTERS_EDEFAULT.equals(nbCounters);
+ case HwTimingPackage.HW_TIMER__COUNTER_WIDTH:
+ return COUNTER_WIDTH_EDEFAULT == null ? counterWidth != null : !COUNTER_WIDTH_EDEFAULT.equals(counterWidth);
+ case HwTimingPackage.HW_TIMER__INPUT_CLOCK:
+ return inputClock != 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(" (nbCounters: ");
+ result.append(nbCounters);
+ result.append(", counterWidth: ");
+ result.append(counterWidth);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwTimerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingFactoryImpl.java
new file mode 100644
index 00000000000..83dec86785e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwTimingFactoryImpl extends EFactoryImpl implements HwTimingFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwTimingFactory init() {
+ try {
+ HwTimingFactory theHwTimingFactory = (HwTimingFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwTiming/1");
+ if (theHwTimingFactory != null) {
+ return theHwTimingFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwTimingFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwTimingPackage.HW_TIMING_RESOURCE: return createHwTimingResource();
+ case HwTimingPackage.HW_CLOCK: return createHwClock();
+ case HwTimingPackage.HW_TIMER: return createHwTimer();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingResource createHwTimingResource() {
+ HwTimingResourceImpl hwTimingResource = new HwTimingResourceImpl();
+ return hwTimingResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwClock createHwClock() {
+ HwClockImpl hwClock = new HwClockImpl();
+ return hwClock;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimer createHwTimer() {
+ HwTimerImpl hwTimer = new HwTimerImpl();
+ return hwTimer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingPackage getHwTimingPackage() {
+ return (HwTimingPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwTimingPackage getPackage() {
+ return HwTimingPackage.eINSTANCE;
+ }
+
+} //HwTimingFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingPackageImpl.java
new file mode 100644
index 00000000000..30df6c4fdac
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingPackageImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwTimingPackageImpl extends EPackageImpl implements HwTimingPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwTimingResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwClockEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwTimerEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwTimingPackageImpl() {
+ super(eNS_URI, HwTimingFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwTimingPackage#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 HwTimingPackage init() {
+ if (isInited) return (HwTimingPackage)EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwTimingPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwTimingPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwTimingPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwTimingPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwTimingPackage.eNS_URI, theHwTimingPackage);
+ return theHwTimingPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwTimingResource() {
+ return hwTimingResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwClock() {
+ return hwClockEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwTimer() {
+ return hwTimerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwTimer_NbCounters() {
+ return (EAttribute)hwTimerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwTimer_CounterWidth() {
+ return (EAttribute)hwTimerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwTimer_InputClock() {
+ return (EReference)hwTimerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingFactory getHwTimingFactory() {
+ return (HwTimingFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwTimingResourceEClass = createEClass(HW_TIMING_RESOURCE);
+
+ hwClockEClass = createEClass(HW_CLOCK);
+
+ hwTimerEClass = createEClass(HW_TIMER);
+ createEAttribute(hwTimerEClass, HW_TIMER__NB_COUNTERS);
+ createEAttribute(hwTimerEClass, HW_TIMER__COUNTER_WIDTH);
+ createEReference(hwTimerEClass, HW_TIMER__INPUT_CLOCK);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwTimingResourceEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+ hwTimingResourceEClass.getESuperTypes().add(theGRMPackage.getTimingResource());
+ hwClockEClass.getESuperTypes().add(this.getHwTimingResource());
+ hwTimerEClass.getESuperTypes().add(this.getHwTimingResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwTimingResourceEClass, HwTimingResource.class, "HwTimingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwClockEClass, HwClock.class, "HwClock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(hwTimerEClass, HwTimer.class, "HwTimer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwTimer_NbCounters(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbCounters", null, 0, 1, HwTimer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwTimer_CounterWidth(), theBasicNFP_TypesPackage.getNFP_DataSize(), "counterWidth", null, 0, 1, HwTimer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwTimer_InputClock(), this.getHwClock(), null, "inputClock", null, 0, 1, HwTimer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //HwTimingPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingResourceImpl.java
new file mode 100644
index 00000000000..78378ea8773
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/impl/HwTimingResourceImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class HwTimingResourceImpl extends HwResourceImpl implements HwTimingResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwTimingResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwTimingPackage.Literals.HW_TIMING_RESOURCE;
+ }
+
+} //HwTimingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingAdapterFactory.java
new file mode 100644
index 00000000000..7c413527eab
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingAdapterFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage
+ * @generated
+ */
+public class HwTimingAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwTimingPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwTimingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwTimingSwitch<Adapter> modelSwitch =
+ new HwTimingSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwTimingResource(HwTimingResource object) {
+ return createHwTimingResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwClock(HwClock object) {
+ return createHwClockAdapter();
+ }
+ @Override
+ public Adapter caseHwTimer(HwTimer object) {
+ return createHwTimerAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseTimingResource(TimingResource object) {
+ return createTimingResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingResource
+ * @generated
+ */
+ public Adapter createHwTimingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock <em>Hw Clock</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwClock
+ * @generated
+ */
+ public Adapter createHwClockAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer <em>Hw Timer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimer
+ * @generated
+ */
+ public Adapter createHwTimerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource <em>Timing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource
+ * @generated
+ */
+ public Adapter createTimingResourceAdapter() {
+ 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;
+ }
+
+} //HwTimingAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceFactoryImpl.java
new file mode 100644
index 00000000000..383464a0e19
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.util.HwTimingResourceImpl
+ * @generated
+ */
+public class HwTimingResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwTimingResourceImpl(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;
+ }
+
+} //HwTimingResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceImpl.java
new file mode 100644
index 00000000000..36bba91a0a0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.util.HwTimingResourceFactoryImpl
+ * @generated
+ */
+public class HwTimingResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwTimingResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwTimingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingSwitch.java
new file mode 100644
index 00000000000..80ce7b6c333
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingSwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage
+ * @generated
+ */
+public class HwTimingSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwTimingPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwTimingPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwTimingPackage.HW_TIMING_RESOURCE: {
+ HwTimingResource hwTimingResource = (HwTimingResource)theEObject;
+ T result = caseHwTimingResource(hwTimingResource);
+ if (result == null) result = caseHwResource(hwTimingResource);
+ if (result == null) result = caseTimingResource(hwTimingResource);
+ if (result == null) result = caseResource(hwTimingResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwTimingPackage.HW_CLOCK: {
+ HwClock hwClock = (HwClock)theEObject;
+ T result = caseHwClock(hwClock);
+ if (result == null) result = caseHwTimingResource(hwClock);
+ if (result == null) result = caseHwResource(hwClock);
+ if (result == null) result = caseTimingResource(hwClock);
+ if (result == null) result = caseResource(hwClock);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwTimingPackage.HW_TIMER: {
+ HwTimer hwTimer = (HwTimer)theEObject;
+ T result = caseHwTimer(hwTimer);
+ if (result == null) result = caseHwTimingResource(hwTimer);
+ if (result == null) result = caseHwResource(hwTimer);
+ if (result == null) result = caseTimingResource(hwTimer);
+ if (result == null) result = caseResource(hwTimer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwTimingResource(HwTimingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Clock</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Clock</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwClock(HwClock object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Timer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Timer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwTimer(HwTimer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Timing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Timing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingResource(TimingResource 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwTimingSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingXMLProcessor.java
new file mode 100644
index 00000000000..bf12d838f03
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwLogical/HwTiming/util/HwTimingXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.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.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwTimingXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwTimingXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwTimingPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwTimingResourceFactoryImpl 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 HwTimingResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwTimingResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwTimingXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind.java
new file mode 100644
index 00000000000..e3e9b61e950
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentKind.java
@@ -0,0 +1,354 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+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>Component Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getComponentKind()
+ * @model
+ * @generated
+ */
+public enum ComponentKind implements Enumerator {
+ /**
+ * The '<em><b>Card</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CARD_VALUE
+ * @generated
+ * @ordered
+ */
+ CARD(0, "card", "card"),
+
+ /**
+ * The '<em><b>Channel</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CHANNEL_VALUE
+ * @generated
+ * @ordered
+ */
+ CHANNEL(1, "channel", "channel"),
+
+ /**
+ * The '<em><b>Chip</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CHIP_VALUE
+ * @generated
+ * @ordered
+ */
+ CHIP(2, "chip", "chip"),
+
+ /**
+ * The '<em><b>Port</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PORT_VALUE
+ * @generated
+ * @ordered
+ */
+ PORT(3, "port", "port"),
+
+ /**
+ * The '<em><b>Unit</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNIT_VALUE
+ * @generated
+ * @ordered
+ */
+ UNIT(4, "unit", "unit"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(5, "other", "other"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(6, "undef", "undef");
+
+ /**
+ * The '<em><b>Card</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Card</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CARD
+ * @model name="card"
+ * @generated
+ * @ordered
+ */
+ public static final int CARD_VALUE = 0;
+
+ /**
+ * The '<em><b>Channel</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Channel</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CHANNEL
+ * @model name="channel"
+ * @generated
+ * @ordered
+ */
+ public static final int CHANNEL_VALUE = 1;
+
+ /**
+ * The '<em><b>Chip</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Chip</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CHIP
+ * @model name="chip"
+ * @generated
+ * @ordered
+ */
+ public static final int CHIP_VALUE = 2;
+
+ /**
+ * The '<em><b>Port</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Port</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PORT
+ * @model name="port"
+ * @generated
+ * @ordered
+ */
+ public static final int PORT_VALUE = 3;
+
+ /**
+ * The '<em><b>Unit</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Unit</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNIT
+ * @model name="unit"
+ * @generated
+ * @ordered
+ */
+ public static final int UNIT_VALUE = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 6;
+
+ /**
+ * An array of all the '<em><b>Component Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ComponentKind[] VALUES_ARRAY =
+ new ComponentKind[] {
+ CARD,
+ CHANNEL,
+ CHIP,
+ PORT,
+ UNIT,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Component Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ComponentKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Component Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ComponentKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Component Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ComponentKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Component Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentKind get(int value) {
+ switch (value) {
+ case CARD_VALUE: return CARD;
+ case CHANNEL_VALUE: return CHANNEL;
+ case CHIP_VALUE: return CHIP;
+ case PORT_VALUE: return PORT;
+ case UNIT_VALUE: return UNIT;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 ComponentKind(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;
+ }
+
+} //ComponentKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState.java
new file mode 100644
index 00000000000..b7417329352
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ComponentState.java
@@ -0,0 +1,273 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+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>Component State</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getComponentState()
+ * @model
+ * @generated
+ */
+public enum ComponentState implements Enumerator {
+ /**
+ * The '<em><b>Operating</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OPERATING_VALUE
+ * @generated
+ * @ordered
+ */
+ OPERATING(0, "operating", "operating"),
+
+ /**
+ * The '<em><b>Storage</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STORAGE_VALUE
+ * @generated
+ * @ordered
+ */
+ STORAGE(1, "storage", "storage"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(2, "other", "other"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "undef", "undef");
+
+ /**
+ * The '<em><b>Operating</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Operating</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OPERATING
+ * @model name="operating"
+ * @generated
+ * @ordered
+ */
+ public static final int OPERATING_VALUE = 0;
+
+ /**
+ * The '<em><b>Storage</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Storage</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STORAGE
+ * @model name="storage"
+ * @generated
+ * @ordered
+ */
+ public static final int STORAGE_VALUE = 1;
+
+ /**
+ * 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 = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Component State</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ComponentState[] VALUES_ARRAY =
+ new ComponentState[] {
+ OPERATING,
+ STORAGE,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Component State</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ComponentState> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Component State</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentState get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ComponentState result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Component State</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentState getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ComponentState result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Component State</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ComponentState get(int value) {
+ switch (value) {
+ case OPERATING_VALUE: return OPERATING;
+ case STORAGE_VALUE: return STORAGE;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 ComponentState(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;
+ }
+
+} //ComponentState
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType.java
new file mode 100644
index 00000000000..c0c5eb7197e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/ConditionType.java
@@ -0,0 +1,354 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+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>Condition Type</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getConditionType()
+ * @model
+ * @generated
+ */
+public enum ConditionType implements Enumerator {
+ /**
+ * The '<em><b>Temperature</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #TEMPERATURE_VALUE
+ * @generated
+ * @ordered
+ */
+ TEMPERATURE(0, "temperature", "temperature"),
+
+ /**
+ * The '<em><b>Humidity</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HUMIDITY_VALUE
+ * @generated
+ * @ordered
+ */
+ HUMIDITY(1, "humidity", "humidity"),
+
+ /**
+ * The '<em><b>Altitude</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ALTITUDE_VALUE
+ * @generated
+ * @ordered
+ */
+ ALTITUDE(2, "altitude", "altitude"),
+
+ /**
+ * The '<em><b>Vibration</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #VIBRATION_VALUE
+ * @generated
+ * @ordered
+ */
+ VIBRATION(3, "vibration", "vibration"),
+
+ /**
+ * The '<em><b>Shock</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SHOCK_VALUE
+ * @generated
+ * @ordered
+ */
+ SHOCK(4, "shock", "shock"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(5, "other", "other"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(6, "undef", "undef");
+
+ /**
+ * The '<em><b>Temperature</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Temperature</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #TEMPERATURE
+ * @model name="temperature"
+ * @generated
+ * @ordered
+ */
+ public static final int TEMPERATURE_VALUE = 0;
+
+ /**
+ * The '<em><b>Humidity</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Humidity</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HUMIDITY
+ * @model name="humidity"
+ * @generated
+ * @ordered
+ */
+ public static final int HUMIDITY_VALUE = 1;
+
+ /**
+ * The '<em><b>Altitude</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Altitude</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ALTITUDE
+ * @model name="altitude"
+ * @generated
+ * @ordered
+ */
+ public static final int ALTITUDE_VALUE = 2;
+
+ /**
+ * The '<em><b>Vibration</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Vibration</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #VIBRATION
+ * @model name="vibration"
+ * @generated
+ * @ordered
+ */
+ public static final int VIBRATION_VALUE = 3;
+
+ /**
+ * The '<em><b>Shock</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Shock</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SHOCK
+ * @model name="shock"
+ * @generated
+ * @ordered
+ */
+ public static final int SHOCK_VALUE = 4;
+
+ /**
+ * 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 = 5;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 6;
+
+ /**
+ * An array of all the '<em><b>Condition Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ConditionType[] VALUES_ARRAY =
+ new ConditionType[] {
+ TEMPERATURE,
+ HUMIDITY,
+ ALTITUDE,
+ VIBRATION,
+ SHOCK,
+ OTHER,
+ UNDEF,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Condition Type</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ConditionType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Condition Type</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConditionType get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ConditionType result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Condition Type</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConditionType getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ConditionType result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Condition Type</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConditionType get(int value) {
+ switch (value) {
+ case TEMPERATURE_VALUE: return TEMPERATURE;
+ case HUMIDITY_VALUE: return HUMIDITY;
+ case ALTITUDE_VALUE: return ALTITUDE;
+ case VIBRATION_VALUE: return VIBRATION;
+ case SHOCK_VALUE: return SHOCK;
+ case OTHER_VALUE: return OTHER;
+ case UNDEF_VALUE: return UNDEF;
+ }
+ 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 ConditionType(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;
+ }
+
+} //ConditionType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent.java
new file mode 100644
index 00000000000..b6207b4f669
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwComponent.java
@@ -0,0 +1,331 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Component</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getDimensions <em>Dimensions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getArea <em>Area</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPosition <em>Position</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getGrid <em>Grid</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getNbPins <em>Nb Pins</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getWeight <em>Weight</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPrice <em>Price</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getR_Conditions <em>RConditions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPoweredServices <em>Powered Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticConsumption <em>Static Consumption</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticDissipation <em>Static Dissipation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getSubComponents <em>Sub Components</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent()
+ * @model
+ * @generated
+ */
+public interface HwComponent extends HwResource {
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind}.
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind
+ * @see #setKind(ComponentKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Kind()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ ComponentKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(ComponentKind value);
+
+ /**
+ * Returns the value of the '<em><b>Dimensions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dimensions</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dimensions</em>' attribute list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Dimensions()
+ * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Length" upper="3" ordered="false"
+ * @generated
+ */
+ EList<String> getDimensions();
+
+ /**
+ * Returns the value of the '<em><b>Area</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Area</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Area</em>' attribute.
+ * @see #setArea(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Area()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Area" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ String getArea();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getArea <em>Area</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Area</em>' attribute.
+ * @see #getArea()
+ * @generated
+ */
+ void setArea(String value);
+
+ /**
+ * Returns the value of the '<em><b>Position</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Position</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Position</em>' attribute list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Position()
+ * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.NFP_NaturalInterval" upper="2" ordered="false"
+ * @generated
+ */
+ EList<String> getPosition();
+
+ /**
+ * Returns the value of the '<em><b>Grid</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Grid</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Grid</em>' attribute list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Grid()
+ * @model dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" upper="2" ordered="false"
+ * @generated
+ */
+ EList<String> getGrid();
+
+ /**
+ * Returns the value of the '<em><b>Nb Pins</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Nb Pins</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Nb Pins</em>' attribute.
+ * @see #setNbPins(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_NbPins()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Natural" ordered="false"
+ * @generated
+ */
+ String getNbPins();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getNbPins <em>Nb Pins</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Nb Pins</em>' attribute.
+ * @see #getNbPins()
+ * @generated
+ */
+ void setNbPins(String value);
+
+ /**
+ * Returns the value of the '<em><b>Weight</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Weight</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Weight</em>' attribute.
+ * @see #setWeight(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Weight()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Real" ordered="false"
+ * @generated
+ */
+ String getWeight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getWeight <em>Weight</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Weight</em>' attribute.
+ * @see #getWeight()
+ * @generated
+ */
+ void setWeight(String value);
+
+ /**
+ * Returns the value of the '<em><b>Price</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Price</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Price</em>' attribute.
+ * @see #setPrice(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_Price()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Price" ordered="false"
+ * @generated
+ */
+ String getPrice();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPrice <em>Price</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Price</em>' attribute.
+ * @see #getPrice()
+ * @generated
+ */
+ void setPrice(String value);
+
+ /**
+ * Returns the value of the '<em><b>RConditions</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>RConditions</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>RConditions</em>' attribute list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_R_Conditions()
+ * @model dataType="org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.Env_Condition" ordered="false"
+ * @generated
+ */
+ EList<String> getR_Conditions();
+
+ /**
+ * Returns the value of the '<em><b>Powered Services</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Powered Services</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>Powered Services</em>' containment reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_PoweredServices()
+ * @model containment="true" ordered="false"
+ * @generated
+ */
+ EList<HwResourceService> getPoweredServices();
+
+ /**
+ * Returns the value of the '<em><b>Static Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Static Consumption</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Static Consumption</em>' attribute.
+ * @see #setStaticConsumption(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_StaticConsumption()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getStaticConsumption();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticConsumption <em>Static Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Static Consumption</em>' attribute.
+ * @see #getStaticConsumption()
+ * @generated
+ */
+ void setStaticConsumption(String value);
+
+ /**
+ * Returns the value of the '<em><b>Static Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Static Dissipation</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Static Dissipation</em>' attribute.
+ * @see #setStaticDissipation(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_StaticDissipation()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getStaticDissipation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticDissipation <em>Static Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Static Dissipation</em>' attribute.
+ * @see #getStaticDissipation()
+ * @generated
+ */
+ void setStaticDissipation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Sub Components</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Sub Components</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 Components</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#getHwComponent_SubComponents()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<HwComponent> getSubComponents();
+
+} // HwComponent
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutFactory.java
new file mode 100644
index 00000000000..e0c6990bd94
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage
+ * @generated
+ */
+public interface HwLayoutFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwLayoutFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Hw Component</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Component</em>'.
+ * @generated
+ */
+ HwComponent createHwComponent();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwLayoutPackage getHwLayoutPackage();
+
+} //HwLayoutFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutPackage.java
new file mode 100644
index 00000000000..a498d6d2150
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/HwLayoutPackage.java
@@ -0,0 +1,748 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwLayoutPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwLayout";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwLayout/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwLayout";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwLayoutPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl <em>Hw Component</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getHwComponent()
+ * @generated
+ */
+ int HW_COMPONENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__RES_MULT = HwGeneralPackage.HW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__IS_PROTECTED = HwGeneralPackage.HW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__IS_ACTIVE = HwGeneralPackage.HW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__BASE_PROPERTY = HwGeneralPackage.HW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__BASE_INSTANCE_SPECIFICATION = HwGeneralPackage.HW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__BASE_CLASSIFIER = HwGeneralPackage.HW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__BASE_LIFELINE = HwGeneralPackage.HW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__BASE_CONNECTABLE_ELEMENT = HwGeneralPackage.HW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__DESCRIPTION = HwGeneralPackage.HW_RESOURCE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__PHW_SERVICES = HwGeneralPackage.HW_RESOURCE__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__RHW_SERVICES = HwGeneralPackage.HW_RESOURCE__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__OWNED_HW = HwGeneralPackage.HW_RESOURCE__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__END_POINTS = HwGeneralPackage.HW_RESOURCE__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__FREQUENCY = HwGeneralPackage.HW_RESOURCE__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__KIND = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Dimensions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__DIMENSIONS = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Area</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__AREA = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Position</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__POSITION = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Grid</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__GRID = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Nb Pins</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__NB_PINS = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Weight</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__WEIGHT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Price</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__PRICE = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>RConditions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__RCONDITIONS = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Powered Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__POWERED_SERVICES = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Static Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__STATIC_CONSUMPTION = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Static Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__STATIC_DISSIPATION = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Sub Components</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT__SUB_COMPONENTS = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 12;
+
+ /**
+ * The number of structural features of the '<em>Hw Component</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COMPONENT_FEATURE_COUNT = HwGeneralPackage.HW_RESOURCE_FEATURE_COUNT + 13;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind <em>Component Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getComponentKind()
+ * @generated
+ */
+ int COMPONENT_KIND = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType <em>Condition Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getConditionType()
+ * @generated
+ */
+ int CONDITION_TYPE = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState <em>Component State</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getComponentState()
+ * @generated
+ */
+ int COMPONENT_STATE = 3;
+
+ /**
+ * The meta object id for the '<em>Env Condition</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getEnv_Condition()
+ * @generated
+ */
+ int ENV_CONDITION = 4;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent <em>Hw Component</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Component</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent
+ * @generated
+ */
+ EClass getHwComponent();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getKind()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Kind();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getDimensions <em>Dimensions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Dimensions</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getDimensions()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Dimensions();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getArea <em>Area</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Area</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getArea()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Area();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPosition <em>Position</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Position</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPosition()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Position();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getGrid <em>Grid</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Grid</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getGrid()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Grid();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getNbPins <em>Nb Pins</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Nb Pins</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getNbPins()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_NbPins();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getWeight <em>Weight</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Weight</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getWeight()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Weight();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPrice <em>Price</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Price</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPrice()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_Price();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getR_Conditions <em>RConditions</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>RConditions</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getR_Conditions()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_R_Conditions();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPoweredServices <em>Powered Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Powered Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getPoweredServices()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EReference getHwComponent_PoweredServices();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticConsumption <em>Static Consumption</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Static Consumption</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticConsumption()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_StaticConsumption();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticDissipation <em>Static Dissipation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Static Dissipation</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getStaticDissipation()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EAttribute getHwComponent_StaticDissipation();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getSubComponents <em>Sub Components</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Sub Components</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent#getSubComponents()
+ * @see #getHwComponent()
+ * @generated
+ */
+ EReference getHwComponent_SubComponents();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind <em>Component Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Component Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind
+ * @generated
+ */
+ EEnum getComponentKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType <em>Condition Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Condition Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType
+ * @generated
+ */
+ EEnum getConditionType();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState <em>Component State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Component State</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState
+ * @generated
+ */
+ EEnum getComponentState();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Env Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Env Condition</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * @generated
+ */
+ EDataType getEnv_Condition();
+
+ /**
+ * 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
+ */
+ HwLayoutFactory getHwLayoutFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl <em>Hw Component</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getHwComponent()
+ * @generated
+ */
+ EClass HW_COMPONENT = eINSTANCE.getHwComponent();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__KIND = eINSTANCE.getHwComponent_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Dimensions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__DIMENSIONS = eINSTANCE.getHwComponent_Dimensions();
+
+ /**
+ * The meta object literal for the '<em><b>Area</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__AREA = eINSTANCE.getHwComponent_Area();
+
+ /**
+ * The meta object literal for the '<em><b>Position</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__POSITION = eINSTANCE.getHwComponent_Position();
+
+ /**
+ * The meta object literal for the '<em><b>Grid</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__GRID = eINSTANCE.getHwComponent_Grid();
+
+ /**
+ * The meta object literal for the '<em><b>Nb Pins</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__NB_PINS = eINSTANCE.getHwComponent_NbPins();
+
+ /**
+ * The meta object literal for the '<em><b>Weight</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__WEIGHT = eINSTANCE.getHwComponent_Weight();
+
+ /**
+ * The meta object literal for the '<em><b>Price</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__PRICE = eINSTANCE.getHwComponent_Price();
+
+ /**
+ * The meta object literal for the '<em><b>RConditions</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__RCONDITIONS = eINSTANCE.getHwComponent_R_Conditions();
+
+ /**
+ * The meta object literal for the '<em><b>Powered Services</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_COMPONENT__POWERED_SERVICES = eINSTANCE.getHwComponent_PoweredServices();
+
+ /**
+ * The meta object literal for the '<em><b>Static Consumption</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__STATIC_CONSUMPTION = eINSTANCE.getHwComponent_StaticConsumption();
+
+ /**
+ * The meta object literal for the '<em><b>Static Dissipation</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COMPONENT__STATIC_DISSIPATION = eINSTANCE.getHwComponent_StaticDissipation();
+
+ /**
+ * The meta object literal for the '<em><b>Sub Components</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference HW_COMPONENT__SUB_COMPONENTS = eINSTANCE.getHwComponent_SubComponents();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind <em>Component Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getComponentKind()
+ * @generated
+ */
+ EEnum COMPONENT_KIND = eINSTANCE.getComponentKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType <em>Condition Type</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getConditionType()
+ * @generated
+ */
+ EEnum CONDITION_TYPE = eINSTANCE.getConditionType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState <em>Component State</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getComponentState()
+ * @generated
+ */
+ EEnum COMPONENT_STATE = eINSTANCE.getComponentState();
+
+ /**
+ * The meta object literal for the '<em>Env Condition</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl#getEnv_Condition()
+ * @generated
+ */
+ EDataType ENV_CONDITION = eINSTANCE.getEnv_Condition();
+
+ }
+
+} //HwLayoutPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwComponentImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwComponentImpl.java
new file mode 100644
index 00000000000..002a477bdc0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwComponentImpl.java
@@ -0,0 +1,776 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.EDataTypeUniqueEList;
+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.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResourceService;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwResourceImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+import org.eclipse.papyrus.MARTE.utils.MarteUtils;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Component</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getDimensions <em>Dimensions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getArea <em>Area</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getPosition <em>Position</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getGrid <em>Grid</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getNbPins <em>Nb Pins</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getWeight <em>Weight</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getPrice <em>Price</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getR_Conditions <em>RConditions</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getPoweredServices <em>Powered Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getStaticConsumption <em>Static Consumption</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getStaticDissipation <em>Static Dissipation</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl#getSubComponents <em>Sub Components</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwComponentImpl extends HwResourceImpl implements HwComponent {
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ComponentKind KIND_EDEFAULT = ComponentKind.CARD;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected ComponentKind kind = KIND_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDimensions() <em>Dimensions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDimensions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> dimensions;
+
+ /**
+ * The default value of the '{@link #getArea() <em>Area</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArea()
+ * @generated
+ * @ordered
+ */
+ protected static final String AREA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPosition()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> position;
+
+ /**
+ * The cached value of the '{@link #getGrid() <em>Grid</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getGrid()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> grid;
+
+ /**
+ * The default value of the '{@link #getNbPins() <em>Nb Pins</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbPins()
+ * @generated
+ * @ordered
+ */
+ protected static final String NB_PINS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNbPins() <em>Nb Pins</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNbPins()
+ * @generated
+ * @ordered
+ */
+ protected String nbPins = NB_PINS_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWeight()
+ * @generated
+ * @ordered
+ */
+ protected static final String WEIGHT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getWeight() <em>Weight</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWeight()
+ * @generated
+ * @ordered
+ */
+ protected String weight = WEIGHT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getPrice() <em>Price</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrice()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRICE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPrice() <em>Price</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrice()
+ * @generated
+ * @ordered
+ */
+ protected String price = PRICE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getR_Conditions() <em>RConditions</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getR_Conditions()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> r_Conditions;
+
+ /**
+ * The cached value of the '{@link #getPoweredServices() <em>Powered Services</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPoweredServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwResourceService> poweredServices;
+
+ /**
+ * The default value of the '{@link #getStaticConsumption() <em>Static Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStaticConsumption()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATIC_CONSUMPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStaticConsumption() <em>Static Consumption</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStaticConsumption()
+ * @generated
+ * @ordered
+ */
+ protected String staticConsumption = STATIC_CONSUMPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStaticDissipation() <em>Static Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStaticDissipation()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATIC_DISSIPATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStaticDissipation() <em>Static Dissipation</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStaticDissipation()
+ * @generated
+ * @ordered
+ */
+ protected String staticDissipation = STATIC_DISSIPATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSubComponents() <em>Sub Components</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubComponents()
+ * @generated
+ * @ordered
+ */
+ protected EList<HwComponent> subComponents;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwComponentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwLayoutPackage.Literals.HW_COMPONENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(ComponentKind newKind) {
+ ComponentKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getDimensions() {
+ if (dimensions == null) {
+ dimensions = new EDataTypeUniqueEList<String>(String.class, this, HwLayoutPackage.HW_COMPONENT__DIMENSIONS);
+ }
+ return dimensions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public String getArea() {
+ // TODO: implement this method to return the 'Area' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+
+ float area = 0;
+ int dimSize = getDimensions().size();
+ if(dimSize >= 2) {
+ float dim1Value = Float.valueOf(MarteUtils.getValueFromTuple(getDimensions().get(0), "value"));
+ String dim1Unit = MarteUtils.getValueFromTuple(getDimensions().get(0), "unit");
+ float dim2Value = Float.valueOf(MarteUtils.getValueFromTuple(getDimensions().get(1), "value"));
+ String dim2Unit = MarteUtils.getValueFromTuple(getDimensions().get(1), "unit");
+
+ if(dimSize == 2) {
+ if(dim1Unit.equals(dim2Unit)) {
+ return "{unit="+dim1Unit+"2,value="+String.valueOf(dim1Value*dim2Value)+"}";
+ }
+
+ else {
+ return "{unit="+dim1Unit+"2,value="+String.valueOf(dim1Value*dim2Value*10)+"}";
+ }
+ }
+
+ else {
+ float dim3Value = Float.valueOf(MarteUtils.getValueFromTuple(getDimensions().get(2), "value"));
+ String dim3Unit = MarteUtils.getValueFromTuple(getDimensions().get(2), "unit");
+
+ if(dim1Unit.equals(dim2Unit) && dim1Unit.equals(dim3Unit)) {
+ return "{unit="+dim1Unit+"2,value="+String.valueOf(2*dim1Value*dim2Value+2*dim1Value*dim3Value+2*dim2Value*dim3Value)+"}";
+ }
+
+ else if(dim1Unit.equals(dim2Unit) && !dim1Unit.equals(dim3Unit) && dim1Unit.equals("mm")) {
+ return "{unit="+dim1Unit+"2,value="+String.valueOf(2*dim1Value*dim2Value+2*dim1Value*dim3Value*10+2*dim2Value*dim3Value*10)+"}";
+ }
+
+ else if(dim1Unit.equals(dim2Unit) && !dim1Unit.equals(dim3Unit) && dim1Unit.equals("cm")){
+ return "{unit="+dim3Unit+"2,value="+String.valueOf(2*dim1Value*dim2Value*100+2*dim1Value*dim3Value*10+2*dim2Value*dim3Value*10)+"}";
+ }
+
+ else if(dim1Unit.equals(dim3Unit) && !dim1Unit.equals(dim2Unit) && dim1Unit.equals("mm")) {
+ return "{unit="+dim1Unit+"2,value="+String.valueOf(2*dim1Value*dim2Value*10+2*dim1Value*dim3Value+2*dim2Value*dim3Value*10)+"}";
+ }
+
+ else if(dim1Unit.equals(dim3Unit) && !dim1Unit.equals(dim2Unit) && dim1Unit.equals("cm")) {
+ return "{unit="+dim3Unit+"2,value="+String.valueOf(2*dim1Value*dim2Value*10+2*dim1Value*dim3Value*100+2*dim2Value*dim3Value*10)+"}";
+ }
+ }
+ }
+ return String.valueOf(area);
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArea(String newArea) {
+ // TODO: implement this method to set the 'Area' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getPosition() {
+ if (position == null) {
+ position = new EDataTypeUniqueEList<String>(String.class, this, HwLayoutPackage.HW_COMPONENT__POSITION);
+ }
+ return position;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getGrid() {
+ if (grid == null) {
+ grid = new EDataTypeUniqueEList<String>(String.class, this, HwLayoutPackage.HW_COMPONENT__GRID);
+ }
+ return grid;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNbPins() {
+ return nbPins;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNbPins(String newNbPins) {
+ String oldNbPins = nbPins;
+ nbPins = newNbPins;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__NB_PINS, oldNbPins, nbPins));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getWeight() {
+ return weight;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWeight(String newWeight) {
+ String oldWeight = weight;
+ weight = newWeight;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__WEIGHT, oldWeight, weight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPrice() {
+ return price;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPrice(String newPrice) {
+ String oldPrice = price;
+ price = newPrice;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__PRICE, oldPrice, price));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getR_Conditions() {
+ if (r_Conditions == null) {
+ r_Conditions = new EDataTypeUniqueEList<String>(String.class, this, HwLayoutPackage.HW_COMPONENT__RCONDITIONS);
+ }
+ return r_Conditions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwResourceService> getPoweredServices() {
+ if (poweredServices == null) {
+ poweredServices = new EObjectContainmentEList<HwResourceService>(HwResourceService.class, this, HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES);
+ }
+ return poweredServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStaticConsumption() {
+ return staticConsumption;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStaticConsumption(String newStaticConsumption) {
+ String oldStaticConsumption = staticConsumption;
+ staticConsumption = newStaticConsumption;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION, oldStaticConsumption, staticConsumption));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStaticDissipation() {
+ return staticDissipation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStaticDissipation(String newStaticDissipation) {
+ String oldStaticDissipation = staticDissipation;
+ staticDissipation = newStaticDissipation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION, oldStaticDissipation, staticDissipation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<HwComponent> getSubComponents() {
+ if (subComponents == null) {
+ subComponents = new EObjectResolvingEList<HwComponent>(HwComponent.class, this, HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS);
+ }
+ return subComponents;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES:
+ return ((InternalEList<?>)getPoweredServices()).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 HwLayoutPackage.HW_COMPONENT__KIND:
+ return getKind();
+ case HwLayoutPackage.HW_COMPONENT__DIMENSIONS:
+ return getDimensions();
+ case HwLayoutPackage.HW_COMPONENT__AREA:
+ return getArea();
+ case HwLayoutPackage.HW_COMPONENT__POSITION:
+ return getPosition();
+ case HwLayoutPackage.HW_COMPONENT__GRID:
+ return getGrid();
+ case HwLayoutPackage.HW_COMPONENT__NB_PINS:
+ return getNbPins();
+ case HwLayoutPackage.HW_COMPONENT__WEIGHT:
+ return getWeight();
+ case HwLayoutPackage.HW_COMPONENT__PRICE:
+ return getPrice();
+ case HwLayoutPackage.HW_COMPONENT__RCONDITIONS:
+ return getR_Conditions();
+ case HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES:
+ return getPoweredServices();
+ case HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION:
+ return getStaticConsumption();
+ case HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION:
+ return getStaticDissipation();
+ case HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS:
+ return getSubComponents();
+ }
+ 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 HwLayoutPackage.HW_COMPONENT__KIND:
+ setKind((ComponentKind)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__DIMENSIONS:
+ getDimensions().clear();
+ getDimensions().addAll((Collection<? extends String>)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__AREA:
+ setArea((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__POSITION:
+ getPosition().clear();
+ getPosition().addAll((Collection<? extends String>)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__GRID:
+ getGrid().clear();
+ getGrid().addAll((Collection<? extends String>)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__NB_PINS:
+ setNbPins((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__WEIGHT:
+ setWeight((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__PRICE:
+ setPrice((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__RCONDITIONS:
+ getR_Conditions().clear();
+ getR_Conditions().addAll((Collection<? extends String>)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES:
+ getPoweredServices().clear();
+ getPoweredServices().addAll((Collection<? extends HwResourceService>)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION:
+ setStaticConsumption((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION:
+ setStaticDissipation((String)newValue);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS:
+ getSubComponents().clear();
+ getSubComponents().addAll((Collection<? extends HwComponent>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwLayoutPackage.HW_COMPONENT__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__DIMENSIONS:
+ getDimensions().clear();
+ return;
+ case HwLayoutPackage.HW_COMPONENT__AREA:
+ setArea(AREA_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__POSITION:
+ getPosition().clear();
+ return;
+ case HwLayoutPackage.HW_COMPONENT__GRID:
+ getGrid().clear();
+ return;
+ case HwLayoutPackage.HW_COMPONENT__NB_PINS:
+ setNbPins(NB_PINS_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__WEIGHT:
+ setWeight(WEIGHT_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__PRICE:
+ setPrice(PRICE_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__RCONDITIONS:
+ getR_Conditions().clear();
+ return;
+ case HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES:
+ getPoweredServices().clear();
+ return;
+ case HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION:
+ setStaticConsumption(STATIC_CONSUMPTION_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION:
+ setStaticDissipation(STATIC_DISSIPATION_EDEFAULT);
+ return;
+ case HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS:
+ getSubComponents().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwLayoutPackage.HW_COMPONENT__KIND:
+ return kind != KIND_EDEFAULT;
+ case HwLayoutPackage.HW_COMPONENT__DIMENSIONS:
+ return dimensions != null && !dimensions.isEmpty();
+ case HwLayoutPackage.HW_COMPONENT__AREA:
+ return AREA_EDEFAULT == null ? getArea() != null : !AREA_EDEFAULT.equals(getArea());
+ case HwLayoutPackage.HW_COMPONENT__POSITION:
+ return position != null && !position.isEmpty();
+ case HwLayoutPackage.HW_COMPONENT__GRID:
+ return grid != null && !grid.isEmpty();
+ case HwLayoutPackage.HW_COMPONENT__NB_PINS:
+ return NB_PINS_EDEFAULT == null ? nbPins != null : !NB_PINS_EDEFAULT.equals(nbPins);
+ case HwLayoutPackage.HW_COMPONENT__WEIGHT:
+ return WEIGHT_EDEFAULT == null ? weight != null : !WEIGHT_EDEFAULT.equals(weight);
+ case HwLayoutPackage.HW_COMPONENT__PRICE:
+ return PRICE_EDEFAULT == null ? price != null : !PRICE_EDEFAULT.equals(price);
+ case HwLayoutPackage.HW_COMPONENT__RCONDITIONS:
+ return r_Conditions != null && !r_Conditions.isEmpty();
+ case HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES:
+ return poweredServices != null && !poweredServices.isEmpty();
+ case HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION:
+ return STATIC_CONSUMPTION_EDEFAULT == null ? staticConsumption != null : !STATIC_CONSUMPTION_EDEFAULT.equals(staticConsumption);
+ case HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION:
+ return STATIC_DISSIPATION_EDEFAULT == null ? staticDissipation != null : !STATIC_DISSIPATION_EDEFAULT.equals(staticDissipation);
+ case HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS:
+ return subComponents != null && !subComponents.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(", dimensions: ");
+ result.append(dimensions);
+ result.append(", position: ");
+ result.append(position);
+ result.append(", grid: ");
+ result.append(grid);
+ result.append(", nbPins: ");
+ result.append(nbPins);
+ result.append(", weight: ");
+ result.append(weight);
+ result.append(", price: ");
+ result.append(price);
+ result.append(", r_Conditions: ");
+ result.append(r_Conditions);
+ result.append(", staticConsumption: ");
+ result.append(staticConsumption);
+ result.append(", staticDissipation: ");
+ result.append(staticDissipation);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwComponentImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutFactoryImpl.java
new file mode 100644
index 00000000000..55165af11d6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwLayoutFactoryImpl extends EFactoryImpl implements HwLayoutFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwLayoutFactory init() {
+ try {
+ HwLayoutFactory theHwLayoutFactory = (HwLayoutFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwLayout/1");
+ if (theHwLayoutFactory != null) {
+ return theHwLayoutFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwLayoutFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwLayoutPackage.HW_COMPONENT: return createHwComponent();
+ 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 HwLayoutPackage.COMPONENT_KIND:
+ return createComponentKindFromString(eDataType, initialValue);
+ case HwLayoutPackage.CONDITION_TYPE:
+ return createConditionTypeFromString(eDataType, initialValue);
+ case HwLayoutPackage.COMPONENT_STATE:
+ return createComponentStateFromString(eDataType, initialValue);
+ case HwLayoutPackage.ENV_CONDITION:
+ return createEnv_ConditionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case HwLayoutPackage.COMPONENT_KIND:
+ return convertComponentKindToString(eDataType, instanceValue);
+ case HwLayoutPackage.CONDITION_TYPE:
+ return convertConditionTypeToString(eDataType, instanceValue);
+ case HwLayoutPackage.COMPONENT_STATE:
+ return convertComponentStateToString(eDataType, instanceValue);
+ case HwLayoutPackage.ENV_CONDITION:
+ return convertEnv_ConditionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwComponent createHwComponent() {
+ HwComponentImpl hwComponent = new HwComponentImpl();
+ return hwComponent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentKind createComponentKindFromString(EDataType eDataType, String initialValue) {
+ ComponentKind result = ComponentKind.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 convertComponentKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConditionType createConditionTypeFromString(EDataType eDataType, String initialValue) {
+ ConditionType result = ConditionType.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 convertConditionTypeToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComponentState createComponentStateFromString(EDataType eDataType, String initialValue) {
+ ComponentState result = ComponentState.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 convertComponentStateToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createEnv_ConditionFromString(EDataType eDataType, String initialValue) {
+ return (String)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertEnv_ConditionToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutPackage getHwLayoutPackage() {
+ return (HwLayoutPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwLayoutPackage getPackage() {
+ return HwLayoutPackage.eINSTANCE;
+ }
+
+} //HwLayoutFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutPackageImpl.java
new file mode 100644
index 00000000000..bbf1d5fbbb5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/impl/HwLayoutPackageImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.EDataType;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ComponentState;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.ConditionType;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwLayoutPackageImpl extends EPackageImpl implements HwLayoutPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwComponentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum componentKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum conditionTypeEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum componentStateEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType env_ConditionEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwLayoutPackageImpl() {
+ super(eNS_URI, HwLayoutFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwLayoutPackage#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 HwLayoutPackage init() {
+ if (isInited) return (HwLayoutPackage)EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwLayoutPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwLayoutPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwLayoutPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwLayoutPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwLayoutPackage.eNS_URI, theHwLayoutPackage);
+ return theHwLayoutPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwComponent() {
+ return hwComponentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Kind() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Dimensions() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Area() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Position() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Grid() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_NbPins() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Weight() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_Price() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_R_Conditions() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwComponent_PoweredServices() {
+ return (EReference)hwComponentEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_StaticConsumption() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwComponent_StaticDissipation() {
+ return (EAttribute)hwComponentEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getHwComponent_SubComponents() {
+ return (EReference)hwComponentEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getComponentKind() {
+ return componentKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getConditionType() {
+ return conditionTypeEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getComponentState() {
+ return componentStateEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getEnv_Condition() {
+ return env_ConditionEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutFactory getHwLayoutFactory() {
+ return (HwLayoutFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwComponentEClass = createEClass(HW_COMPONENT);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__KIND);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__DIMENSIONS);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__AREA);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__POSITION);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__GRID);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__NB_PINS);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__WEIGHT);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__PRICE);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__RCONDITIONS);
+ createEReference(hwComponentEClass, HW_COMPONENT__POWERED_SERVICES);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__STATIC_CONSUMPTION);
+ createEAttribute(hwComponentEClass, HW_COMPONENT__STATIC_DISSIPATION);
+ createEReference(hwComponentEClass, HW_COMPONENT__SUB_COMPONENTS);
+
+ // Create enums
+ componentKindEEnum = createEEnum(COMPONENT_KIND);
+ conditionTypeEEnum = createEEnum(CONDITION_TYPE);
+ componentStateEEnum = createEEnum(COMPONENT_STATE);
+
+ // Create data types
+ env_ConditionEDataType = createEDataType(ENV_CONDITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwGeneralPackage theHwGeneralPackage = (HwGeneralPackage)EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ MARTE_DataTypesPackage theMARTE_DataTypesPackage = (MARTE_DataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwComponentEClass.getESuperTypes().add(theHwGeneralPackage.getHwResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwComponentEClass, HwComponent.class, "HwComponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwComponent_Kind(), this.getComponentKind(), "kind", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Dimensions(), theBasicNFP_TypesPackage.getNFP_Length(), "dimensions", null, 0, 3, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Area(), theBasicNFP_TypesPackage.getNFP_Area(), "area", null, 0, 1, HwComponent.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Position(), theMARTE_DataTypesPackage.getNFP_NaturalInterval(), "position", null, 0, 2, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Grid(), theBasicNFP_TypesPackage.getNFP_Natural(), "grid", null, 0, 2, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_NbPins(), theBasicNFP_TypesPackage.getNFP_Natural(), "nbPins", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Weight(), theBasicNFP_TypesPackage.getNFP_Real(), "weight", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_Price(), theBasicNFP_TypesPackage.getNFP_Price(), "price", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_R_Conditions(), this.getEnv_Condition(), "r_Conditions", null, 0, -1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwComponent_PoweredServices(), theHwGeneralPackage.getHwResourceService(), null, "poweredServices", null, 0, -1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_StaticConsumption(), theBasicNFP_TypesPackage.getNFP_Power(), "staticConsumption", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwComponent_StaticDissipation(), theBasicNFP_TypesPackage.getNFP_Power(), "staticDissipation", null, 0, 1, HwComponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getHwComponent_SubComponents(), this.getHwComponent(), null, "subComponents", null, 0, -1, HwComponent.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(componentKindEEnum, ComponentKind.class, "ComponentKind");
+ addEEnumLiteral(componentKindEEnum, ComponentKind.CARD);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.CHANNEL);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.CHIP);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.PORT);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.UNIT);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.OTHER);
+ addEEnumLiteral(componentKindEEnum, ComponentKind.UNDEF);
+
+ initEEnum(conditionTypeEEnum, ConditionType.class, "ConditionType");
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.TEMPERATURE);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.HUMIDITY);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.ALTITUDE);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.VIBRATION);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.SHOCK);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.OTHER);
+ addEEnumLiteral(conditionTypeEEnum, ConditionType.UNDEF);
+
+ initEEnum(componentStateEEnum, ComponentState.class, "ComponentState");
+ addEEnumLiteral(componentStateEEnum, ComponentState.OPERATING);
+ addEEnumLiteral(componentStateEEnum, ComponentState.STORAGE);
+ addEEnumLiteral(componentStateEEnum, ComponentState.OTHER);
+ addEEnumLiteral(componentStateEEnum, ComponentState.UNDEF);
+
+ // Initialize data types
+ initEDataType(env_ConditionEDataType, String.class, "Env_Condition", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create annotations
+ // redefines
+ createRedefinesAnnotations();
+ // subsets
+ createSubsetsAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>redefines</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createRedefinesAnnotations() {
+ String source = "redefines";
+ addAnnotation
+ (getHwComponent_PoweredServices(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/p_HW_Services")
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>subsets</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createSubsetsAnnotations() {
+ String source = "subsets";
+ addAnnotation
+ (getHwComponent_SubComponents(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_DesignModel/HRM/HwGeneral/HwResource/ownedHW")
+ });
+ }
+
+} //HwLayoutPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutAdapterFactory.java
new file mode 100644
index 00000000000..2ed2262ff65
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutAdapterFactory.java
@@ -0,0 +1,171 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage
+ * @generated
+ */
+public class HwLayoutAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwLayoutPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwLayoutPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwLayoutSwitch<Adapter> modelSwitch =
+ new HwLayoutSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwComponent(HwComponent object) {
+ return createHwComponentAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent <em>Hw Component</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent
+ * @generated
+ */
+ public Adapter createHwComponentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //HwLayoutAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceFactoryImpl.java
new file mode 100644
index 00000000000..fd23084da15
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.util.HwLayoutResourceImpl
+ * @generated
+ */
+public class HwLayoutResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwLayoutResourceImpl(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;
+ }
+
+} //HwLayoutResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceImpl.java
new file mode 100644
index 00000000000..f47669c1abb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.util.HwLayoutResourceFactoryImpl
+ * @generated
+ */
+public class HwLayoutResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwLayoutResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwLayoutResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutSwitch.java
new file mode 100644
index 00000000000..b0eff91eade
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutSwitch.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage
+ * @generated
+ */
+public class HwLayoutSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwLayoutPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwLayoutPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwLayoutPackage.HW_COMPONENT: {
+ HwComponent hwComponent = (HwComponent)theEObject;
+ T result = caseHwComponent(hwComponent);
+ if (result == null) result = caseHwResource(hwComponent);
+ if (result == null) result = caseResource(hwComponent);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Component</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Component</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwComponent(HwComponent object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwLayoutSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutXMLProcessor.java
new file mode 100644
index 00000000000..c739e982c2b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwLayout/util/HwLayoutXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwLayoutXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwLayoutXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwLayoutPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwLayoutResourceFactoryImpl 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 HwLayoutResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwLayoutResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwLayoutXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply.java
new file mode 100644
index 00000000000..b400c1a3bf3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwCoolingSupply.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hw Cooling Supply</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply#getCoolingPower <em>Cooling Power</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#getHwCoolingSupply()
+ * @model
+ * @generated
+ */
+public interface HwCoolingSupply extends HwComponent {
+ /**
+ * Returns the value of the '<em><b>Cooling Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Cooling Power</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Cooling Power</em>' attribute.
+ * @see #setCoolingPower(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#getHwCoolingSupply_CoolingPower()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getCoolingPower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply#getCoolingPower <em>Cooling Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Cooling Power</em>' attribute.
+ * @see #getCoolingPower()
+ * @generated
+ */
+ void setCoolingPower(String value);
+
+} // HwCoolingSupply
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerFactory.java
new file mode 100644
index 00000000000..8385eb9f509
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerFactory.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower;
+
+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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage
+ * @generated
+ */
+public interface HwPowerFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwPowerFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Supply</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Supply</em>'.
+ * @generated
+ */
+ HwPowerSupply createHwPowerSupply();
+
+ /**
+ * Returns a new object of class '<em>Hw Cooling Supply</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hw Cooling Supply</em>'.
+ * @generated
+ */
+ HwCoolingSupply createHwCoolingSupply();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ HwPowerPackage getHwPowerPackage();
+
+} //HwPowerFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerPackage.java
new file mode 100644
index 00000000000..3ac5d7145e9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerPackage.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface HwPowerPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "HwPower";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/HwPower/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "HwPower";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ HwPowerPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl <em>Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl#getHwPowerSupply()
+ * @generated
+ */
+ int HW_POWER_SUPPLY = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__RES_MULT = HwLayoutPackage.HW_COMPONENT__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__IS_PROTECTED = HwLayoutPackage.HW_COMPONENT__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__IS_ACTIVE = HwLayoutPackage.HW_COMPONENT__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__BASE_PROPERTY = HwLayoutPackage.HW_COMPONENT__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__BASE_INSTANCE_SPECIFICATION = HwLayoutPackage.HW_COMPONENT__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__BASE_CLASSIFIER = HwLayoutPackage.HW_COMPONENT__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__BASE_LIFELINE = HwLayoutPackage.HW_COMPONENT__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__BASE_CONNECTABLE_ELEMENT = HwLayoutPackage.HW_COMPONENT__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__DESCRIPTION = HwLayoutPackage.HW_COMPONENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__PHW_SERVICES = HwLayoutPackage.HW_COMPONENT__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__RHW_SERVICES = HwLayoutPackage.HW_COMPONENT__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__OWNED_HW = HwLayoutPackage.HW_COMPONENT__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__END_POINTS = HwLayoutPackage.HW_COMPONENT__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__FREQUENCY = HwLayoutPackage.HW_COMPONENT__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__KIND = HwLayoutPackage.HW_COMPONENT__KIND;
+
+ /**
+ * The feature id for the '<em><b>Dimensions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__DIMENSIONS = HwLayoutPackage.HW_COMPONENT__DIMENSIONS;
+
+ /**
+ * The feature id for the '<em><b>Area</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__AREA = HwLayoutPackage.HW_COMPONENT__AREA;
+
+ /**
+ * The feature id for the '<em><b>Position</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__POSITION = HwLayoutPackage.HW_COMPONENT__POSITION;
+
+ /**
+ * The feature id for the '<em><b>Grid</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__GRID = HwLayoutPackage.HW_COMPONENT__GRID;
+
+ /**
+ * The feature id for the '<em><b>Nb Pins</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__NB_PINS = HwLayoutPackage.HW_COMPONENT__NB_PINS;
+
+ /**
+ * The feature id for the '<em><b>Weight</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__WEIGHT = HwLayoutPackage.HW_COMPONENT__WEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Price</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__PRICE = HwLayoutPackage.HW_COMPONENT__PRICE;
+
+ /**
+ * The feature id for the '<em><b>RConditions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__RCONDITIONS = HwLayoutPackage.HW_COMPONENT__RCONDITIONS;
+
+ /**
+ * The feature id for the '<em><b>Powered Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__POWERED_SERVICES = HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Static Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__STATIC_CONSUMPTION = HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION;
+
+ /**
+ * The feature id for the '<em><b>Static Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__STATIC_DISSIPATION = HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION;
+
+ /**
+ * The feature id for the '<em><b>Sub Components</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__SUB_COMPONENTS = HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS;
+
+ /**
+ * The feature id for the '<em><b>Supplied Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__SUPPLIED_POWER = HwLayoutPackage.HW_COMPONENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY__CAPACITY = HwLayoutPackage.HW_COMPONENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Supply</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_POWER_SUPPLY_FEATURE_COUNT = HwLayoutPackage.HW_COMPONENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwCoolingSupplyImpl <em>Hw Cooling Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwCoolingSupplyImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl#getHwCoolingSupply()
+ * @generated
+ */
+ int HW_COOLING_SUPPLY = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__RES_MULT = HwLayoutPackage.HW_COMPONENT__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__IS_PROTECTED = HwLayoutPackage.HW_COMPONENT__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__IS_ACTIVE = HwLayoutPackage.HW_COMPONENT__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__BASE_PROPERTY = HwLayoutPackage.HW_COMPONENT__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__BASE_INSTANCE_SPECIFICATION = HwLayoutPackage.HW_COMPONENT__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__BASE_CLASSIFIER = HwLayoutPackage.HW_COMPONENT__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__BASE_LIFELINE = HwLayoutPackage.HW_COMPONENT__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__BASE_CONNECTABLE_ELEMENT = HwLayoutPackage.HW_COMPONENT__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__DESCRIPTION = HwLayoutPackage.HW_COMPONENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>PHW Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__PHW_SERVICES = HwLayoutPackage.HW_COMPONENT__PHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>RHW Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__RHW_SERVICES = HwLayoutPackage.HW_COMPONENT__RHW_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Owned HW</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__OWNED_HW = HwLayoutPackage.HW_COMPONENT__OWNED_HW;
+
+ /**
+ * The feature id for the '<em><b>End Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__END_POINTS = HwLayoutPackage.HW_COMPONENT__END_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Frequency</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__FREQUENCY = HwLayoutPackage.HW_COMPONENT__FREQUENCY;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__KIND = HwLayoutPackage.HW_COMPONENT__KIND;
+
+ /**
+ * The feature id for the '<em><b>Dimensions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__DIMENSIONS = HwLayoutPackage.HW_COMPONENT__DIMENSIONS;
+
+ /**
+ * The feature id for the '<em><b>Area</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__AREA = HwLayoutPackage.HW_COMPONENT__AREA;
+
+ /**
+ * The feature id for the '<em><b>Position</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__POSITION = HwLayoutPackage.HW_COMPONENT__POSITION;
+
+ /**
+ * The feature id for the '<em><b>Grid</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__GRID = HwLayoutPackage.HW_COMPONENT__GRID;
+
+ /**
+ * The feature id for the '<em><b>Nb Pins</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__NB_PINS = HwLayoutPackage.HW_COMPONENT__NB_PINS;
+
+ /**
+ * The feature id for the '<em><b>Weight</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__WEIGHT = HwLayoutPackage.HW_COMPONENT__WEIGHT;
+
+ /**
+ * The feature id for the '<em><b>Price</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__PRICE = HwLayoutPackage.HW_COMPONENT__PRICE;
+
+ /**
+ * The feature id for the '<em><b>RConditions</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__RCONDITIONS = HwLayoutPackage.HW_COMPONENT__RCONDITIONS;
+
+ /**
+ * The feature id for the '<em><b>Powered Services</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__POWERED_SERVICES = HwLayoutPackage.HW_COMPONENT__POWERED_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Static Consumption</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__STATIC_CONSUMPTION = HwLayoutPackage.HW_COMPONENT__STATIC_CONSUMPTION;
+
+ /**
+ * The feature id for the '<em><b>Static Dissipation</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__STATIC_DISSIPATION = HwLayoutPackage.HW_COMPONENT__STATIC_DISSIPATION;
+
+ /**
+ * The feature id for the '<em><b>Sub Components</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__SUB_COMPONENTS = HwLayoutPackage.HW_COMPONENT__SUB_COMPONENTS;
+
+ /**
+ * The feature id for the '<em><b>Cooling Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY__COOLING_POWER = HwLayoutPackage.HW_COMPONENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hw Cooling Supply</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HW_COOLING_SUPPLY_FEATURE_COUNT = HwLayoutPackage.HW_COMPONENT_FEATURE_COUNT + 1;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply <em>Supply</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Supply</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply
+ * @generated
+ */
+ EClass getHwPowerSupply();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getSuppliedPower <em>Supplied Power</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Supplied Power</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getSuppliedPower()
+ * @see #getHwPowerSupply()
+ * @generated
+ */
+ EAttribute getHwPowerSupply_SuppliedPower();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getCapacity <em>Capacity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Capacity</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getCapacity()
+ * @see #getHwPowerSupply()
+ * @generated
+ */
+ EAttribute getHwPowerSupply_Capacity();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply <em>Hw Cooling Supply</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hw Cooling Supply</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply
+ * @generated
+ */
+ EClass getHwCoolingSupply();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply#getCoolingPower <em>Cooling Power</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Cooling Power</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply#getCoolingPower()
+ * @see #getHwCoolingSupply()
+ * @generated
+ */
+ EAttribute getHwCoolingSupply_CoolingPower();
+
+ /**
+ * 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
+ */
+ HwPowerFactory getHwPowerFactory();
+
+ /**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl <em>Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl#getHwPowerSupply()
+ * @generated
+ */
+ EClass HW_POWER_SUPPLY = eINSTANCE.getHwPowerSupply();
+
+ /**
+ * The meta object literal for the '<em><b>Supplied Power</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_POWER_SUPPLY__SUPPLIED_POWER = eINSTANCE.getHwPowerSupply_SuppliedPower();
+
+ /**
+ * The meta object literal for the '<em><b>Capacity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_POWER_SUPPLY__CAPACITY = eINSTANCE.getHwPowerSupply_Capacity();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwCoolingSupplyImpl <em>Hw Cooling Supply</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwCoolingSupplyImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl#getHwCoolingSupply()
+ * @generated
+ */
+ EClass HW_COOLING_SUPPLY = eINSTANCE.getHwCoolingSupply();
+
+ /**
+ * The meta object literal for the '<em><b>Cooling Power</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HW_COOLING_SUPPLY__COOLING_POWER = eINSTANCE.getHwCoolingSupply_CoolingPower();
+
+ }
+
+} //HwPowerPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply.java
new file mode 100644
index 00000000000..70344045314
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/HwPowerSupply.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Supply</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getSuppliedPower <em>Supplied Power</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getCapacity <em>Capacity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#getHwPowerSupply()
+ * @model
+ * @generated
+ */
+public interface HwPowerSupply extends HwComponent {
+ /**
+ * Returns the value of the '<em><b>Supplied Power</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Supplied Power</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Supplied Power</em>' attribute.
+ * @see #setSuppliedPower(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#getHwPowerSupply_SuppliedPower()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Power" ordered="false"
+ * @generated
+ */
+ String getSuppliedPower();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getSuppliedPower <em>Supplied Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Supplied Power</em>' attribute.
+ * @see #getSuppliedPower()
+ * @generated
+ */
+ void setSuppliedPower(String value);
+
+ /**
+ * Returns the value of the '<em><b>Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Capacity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Capacity</em>' attribute.
+ * @see #setCapacity(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#getHwPowerSupply_Capacity()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.NFP_Energy" ordered="false"
+ * @generated
+ */
+ String getCapacity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply#getCapacity <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Capacity</em>' attribute.
+ * @see #getCapacity()
+ * @generated
+ */
+ void setCapacity(String value);
+
+} // HwPowerSupply
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwCoolingSupplyImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwCoolingSupplyImpl.java
new file mode 100644
index 00000000000..1c24a94b166
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwCoolingSupplyImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hw Cooling Supply</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwCoolingSupplyImpl#getCoolingPower <em>Cooling Power</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwCoolingSupplyImpl extends HwComponentImpl implements HwCoolingSupply {
+ /**
+ * The default value of the '{@link #getCoolingPower() <em>Cooling Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCoolingPower()
+ * @generated
+ * @ordered
+ */
+ protected static final String COOLING_POWER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCoolingPower() <em>Cooling Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCoolingPower()
+ * @generated
+ * @ordered
+ */
+ protected String coolingPower = COOLING_POWER_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwCoolingSupplyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwPowerPackage.Literals.HW_COOLING_SUPPLY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCoolingPower() {
+ return coolingPower;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCoolingPower(String newCoolingPower) {
+ String oldCoolingPower = coolingPower;
+ coolingPower = newCoolingPower;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwPowerPackage.HW_COOLING_SUPPLY__COOLING_POWER, oldCoolingPower, coolingPower));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwPowerPackage.HW_COOLING_SUPPLY__COOLING_POWER:
+ return getCoolingPower();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwPowerPackage.HW_COOLING_SUPPLY__COOLING_POWER:
+ setCoolingPower((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwPowerPackage.HW_COOLING_SUPPLY__COOLING_POWER:
+ setCoolingPower(COOLING_POWER_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwPowerPackage.HW_COOLING_SUPPLY__COOLING_POWER:
+ return COOLING_POWER_EDEFAULT == null ? coolingPower != null : !COOLING_POWER_EDEFAULT.equals(coolingPower);
+ }
+ 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(" (coolingPower: ");
+ result.append(coolingPower);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwCoolingSupplyImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerFactoryImpl.java
new file mode 100644
index 00000000000..0f05c87e4bd
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerFactoryImpl.java
@@ -0,0 +1,117 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwPowerFactoryImpl extends EFactoryImpl implements HwPowerFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static HwPowerFactory init() {
+ try {
+ HwPowerFactory theHwPowerFactory = (HwPowerFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/HwPower/1");
+ if (theHwPowerFactory != null) {
+ return theHwPowerFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new HwPowerFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case HwPowerPackage.HW_POWER_SUPPLY: return createHwPowerSupply();
+ case HwPowerPackage.HW_COOLING_SUPPLY: return createHwCoolingSupply();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerSupply createHwPowerSupply() {
+ HwPowerSupplyImpl hwPowerSupply = new HwPowerSupplyImpl();
+ return hwPowerSupply;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwCoolingSupply createHwCoolingSupply() {
+ HwCoolingSupplyImpl hwCoolingSupply = new HwCoolingSupplyImpl();
+ return hwCoolingSupply;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerPackage getHwPowerPackage() {
+ return (HwPowerPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static HwPowerPackage getPackage() {
+ return HwPowerPackage.eINSTANCE;
+ }
+
+} //HwPowerFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerPackageImpl.java
new file mode 100644
index 00000000000..5da7a4a96a5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerPackageImpl.java
@@ -0,0 +1,484 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwPowerPackageImpl extends EPackageImpl implements HwPowerPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwPowerSupplyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hwCoolingSupplyEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private HwPowerPackageImpl() {
+ super(eNS_URI, HwPowerFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link HwPowerPackage#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 HwPowerPackage init() {
+ if (isInited) return (HwPowerPackage)EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI);
+
+ // Obtain or create and register package
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new HwPowerPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theHwPowerPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theHwPowerPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theHwPowerPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(HwPowerPackage.eNS_URI, theHwPowerPackage);
+ return theHwPowerPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwPowerSupply() {
+ return hwPowerSupplyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPowerSupply_SuppliedPower() {
+ return (EAttribute)hwPowerSupplyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwPowerSupply_Capacity() {
+ return (EAttribute)hwPowerSupplyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHwCoolingSupply() {
+ return hwCoolingSupplyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHwCoolingSupply_CoolingPower() {
+ return (EAttribute)hwCoolingSupplyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerFactory getHwPowerFactory() {
+ return (HwPowerFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ hwPowerSupplyEClass = createEClass(HW_POWER_SUPPLY);
+ createEAttribute(hwPowerSupplyEClass, HW_POWER_SUPPLY__SUPPLIED_POWER);
+ createEAttribute(hwPowerSupplyEClass, HW_POWER_SUPPLY__CAPACITY);
+
+ hwCoolingSupplyEClass = createEClass(HW_COOLING_SUPPLY);
+ createEAttribute(hwCoolingSupplyEClass, HW_COOLING_SUPPLY__COOLING_POWER);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ HwLayoutPackage theHwLayoutPackage = (HwLayoutPackage)EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ hwPowerSupplyEClass.getESuperTypes().add(theHwLayoutPackage.getHwComponent());
+ hwCoolingSupplyEClass.getESuperTypes().add(theHwLayoutPackage.getHwComponent());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(hwPowerSupplyEClass, HwPowerSupply.class, "HwPowerSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwPowerSupply_SuppliedPower(), theBasicNFP_TypesPackage.getNFP_Power(), "suppliedPower", null, 0, 1, HwPowerSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getHwPowerSupply_Capacity(), theBasicNFP_TypesPackage.getNFP_Energy(), "capacity", null, 0, 1, HwPowerSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(hwCoolingSupplyEClass, HwCoolingSupply.class, "HwCoolingSupply", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHwCoolingSupply_CoolingPower(), theBasicNFP_TypesPackage.getNFP_Power(), "coolingPower", null, 0, 1, HwCoolingSupply.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //HwPowerPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerSupplyImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerSupplyImpl.java
new file mode 100644
index 00000000000..07e6556fb2a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/impl/HwPowerSupplyImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwComponentImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Supply</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl#getSuppliedPower <em>Supplied Power</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerSupplyImpl#getCapacity <em>Capacity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HwPowerSupplyImpl extends HwComponentImpl implements HwPowerSupply {
+ /**
+ * The default value of the '{@link #getSuppliedPower() <em>Supplied Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliedPower()
+ * @generated
+ * @ordered
+ */
+ protected static final String SUPPLIED_POWER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSuppliedPower() <em>Supplied Power</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuppliedPower()
+ * @generated
+ * @ordered
+ */
+ protected String suppliedPower = SUPPLIED_POWER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCapacity()
+ * @generated
+ * @ordered
+ */
+ protected static final String CAPACITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCapacity() <em>Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCapacity()
+ * @generated
+ * @ordered
+ */
+ protected String capacity = CAPACITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwPowerSupplyImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return HwPowerPackage.Literals.HW_POWER_SUPPLY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSuppliedPower() {
+ return suppliedPower;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSuppliedPower(String newSuppliedPower) {
+ String oldSuppliedPower = suppliedPower;
+ suppliedPower = newSuppliedPower;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwPowerPackage.HW_POWER_SUPPLY__SUPPLIED_POWER, oldSuppliedPower, suppliedPower));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCapacity() {
+ return capacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCapacity(String newCapacity) {
+ String oldCapacity = capacity;
+ capacity = newCapacity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, HwPowerPackage.HW_POWER_SUPPLY__CAPACITY, oldCapacity, capacity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case HwPowerPackage.HW_POWER_SUPPLY__SUPPLIED_POWER:
+ return getSuppliedPower();
+ case HwPowerPackage.HW_POWER_SUPPLY__CAPACITY:
+ return getCapacity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case HwPowerPackage.HW_POWER_SUPPLY__SUPPLIED_POWER:
+ setSuppliedPower((String)newValue);
+ return;
+ case HwPowerPackage.HW_POWER_SUPPLY__CAPACITY:
+ setCapacity((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case HwPowerPackage.HW_POWER_SUPPLY__SUPPLIED_POWER:
+ setSuppliedPower(SUPPLIED_POWER_EDEFAULT);
+ return;
+ case HwPowerPackage.HW_POWER_SUPPLY__CAPACITY:
+ setCapacity(CAPACITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case HwPowerPackage.HW_POWER_SUPPLY__SUPPLIED_POWER:
+ return SUPPLIED_POWER_EDEFAULT == null ? suppliedPower != null : !SUPPLIED_POWER_EDEFAULT.equals(suppliedPower);
+ case HwPowerPackage.HW_POWER_SUPPLY__CAPACITY:
+ return CAPACITY_EDEFAULT == null ? capacity != null : !CAPACITY_EDEFAULT.equals(capacity);
+ }
+ 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(" (suppliedPower: ");
+ result.append(suppliedPower);
+ result.append(", capacity: ");
+ result.append(capacity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HwPowerSupplyImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerAdapterFactory.java
new file mode 100644
index 00000000000..bd9289d2bd5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerAdapterFactory.java
@@ -0,0 +1,209 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage
+ * @generated
+ */
+public class HwPowerAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwPowerPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = HwPowerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HwPowerSwitch<Adapter> modelSwitch =
+ new HwPowerSwitch<Adapter>() {
+ @Override
+ public Adapter caseHwPowerSupply(HwPowerSupply object) {
+ return createHwPowerSupplyAdapter();
+ }
+ @Override
+ public Adapter caseHwCoolingSupply(HwCoolingSupply object) {
+ return createHwCoolingSupplyAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwResource(HwResource object) {
+ return createHwResourceAdapter();
+ }
+ @Override
+ public Adapter caseHwComponent(HwComponent object) {
+ return createHwComponentAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply <em>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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerSupply
+ * @generated
+ */
+ public Adapter createHwPowerSupplyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply <em>Hw Cooling 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwCoolingSupply
+ * @generated
+ */
+ public Adapter createHwCoolingSupplyAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource <em>Hw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource
+ * @generated
+ */
+ public Adapter createHwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent <em>Hw Component</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent
+ * @generated
+ */
+ public Adapter createHwComponentAdapter() {
+ 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;
+ }
+
+} //HwPowerAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceFactoryImpl.java
new file mode 100644
index 00000000000..548fbbf7d2e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceFactoryImpl.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.util.HwPowerResourceImpl
+ * @generated
+ */
+public class HwPowerResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new HwPowerResourceImpl(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;
+ }
+
+} //HwPowerResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceImpl.java
new file mode 100644
index 00000000000..da164ce98af
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.util.HwPowerResourceFactoryImpl
+ * @generated
+ */
+public class HwPowerResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public HwPowerResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //HwPowerResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerSwitch.java
new file mode 100644
index 00000000000..293a8b65bc8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerSwitch.java
@@ -0,0 +1,215 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwComponent;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- 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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage
+ * @generated
+ */
+public class HwPowerSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static HwPowerPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerSwitch() {
+ if (modelPackage == null) {
+ modelPackage = HwPowerPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * 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
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * 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
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case HwPowerPackage.HW_POWER_SUPPLY: {
+ HwPowerSupply hwPowerSupply = (HwPowerSupply)theEObject;
+ T result = caseHwPowerSupply(hwPowerSupply);
+ if (result == null) result = caseHwComponent(hwPowerSupply);
+ if (result == null) result = caseHwResource(hwPowerSupply);
+ if (result == null) result = caseResource(hwPowerSupply);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case HwPowerPackage.HW_COOLING_SUPPLY: {
+ HwCoolingSupply hwCoolingSupply = (HwCoolingSupply)theEObject;
+ T result = caseHwCoolingSupply(hwCoolingSupply);
+ if (result == null) result = caseHwComponent(hwCoolingSupply);
+ if (result == null) result = caseHwResource(hwCoolingSupply);
+ if (result == null) result = caseResource(hwCoolingSupply);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Supply</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwPowerSupply(HwPowerSupply object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Cooling 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>Hw Cooling Supply</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwCoolingSupply(HwCoolingSupply object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwResource(HwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hw Component</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Hw Component</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHwComponent(HwComponent 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
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //HwPowerSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerXMLProcessor.java
new file mode 100644
index 00000000000..5dc2b1aaa63
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/HRM/HwPhysical/HwPower/util/HwPowerXMLProcessor.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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.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.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class HwPowerXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HwPowerXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ HwPowerPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the HwPowerResourceFactoryImpl 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 HwPowerResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new HwPowerResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //HwPowerXMLProcessor

Back to the top