From 1db06a6d0b08d60ea370222611085f22955022e3 Mon Sep 17 00:00:00 2001
From: Fabian Brosig <fabian.brosig@uni-wuerzburg.de>
Date: Wed, 6 Mar 2013 17:24:38 +0000
Subject: [PATCH] DESCARTES-49 Metamodel refactorings

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@10646 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 ...ranchUserProbabilities_RandomVariable.gif} | Bin 223 -> 223 bytes
 ...hUserAction_branches_ScenarioBehavior.gif} | Bin 223 -> 223 bytes
 ...arameterSettings_CallParameterSetting.gif} | Bin 223 -> 223 bytes
 ...pBodyScenarioBehavior_ScenarioBehavior.gif | Bin 0 -> 223 bytes
 ...narioBehavior_actions_BranchUserAction.gif | Bin 0 -> 223 bytes
 ...enarioBehavior_actions_DelayUserAction.gif | Bin 0 -> 223 bytes
 ...oBehavior_actions_EntryLevelSystemCall.gif | Bin 0 -> 223 bytes
 ...cenarioBehavior_actions_LoopUserAction.gif | Bin 0 -> 223 bytes
 ...ario_scenarioBehavior_ScenarioBehavior.gif | Bin 0 -> 223 bytes
 ...enario_workloadType_ClosedWorkloadType.gif | Bin 0 -> 223 bytes
 ...Scenario_workloadType_OpenWorkloadType.gif | Bin 0 -> 223 bytes
 ...eWorkload_usageScenarios_UsageScenario.gif | Bin 0 -> 223 bytes
 ...topUserAction.gif => BranchUserAction.gif} | Bin 129 -> 129 bytes
 ...erSetting.gif => CallParameterSetting.gif} | Bin 129 -> 129 bytes
 .../icons/full/obj16/ClosedWorkloadType.gif   | Bin 0 -> 129 bytes
 .../icons/full/obj16/DelayUserAction.gif      | Bin 0 -> 129 bytes
 .../icons/full/obj16/EntryLevelSystemCall.gif | Bin 0 -> 129 bytes
 .../icons/full/obj16/LoopUserAction.gif       | Bin 0 -> 129 bytes
 .../icons/full/obj16/OpenWorkloadType.gif     | Bin 0 -> 129 bytes
 .../icons/full/obj16/ScenarioBehavior.gif     | Bin 0 -> 129 bytes
 .../icons/full/obj16/UsageScenario.gif        | Bin 0 -> 129 bytes
 .../{StartUserAction.gif => Workload.gif}     | Bin
 .../plugin.properties                         |   1 +
 ...va => AbstractUserActionItemProvider.java} |  35 +-
 .../BranchUserActionItemProvider.java         | 163 +++++++
 .../CallParameterSettingItemProvider.java     | 205 +++++++++
 .../ClosedWorkloadTypeItemProvider.java       | 170 +++++++
 .../provider/DelayUserActionItemProvider.java | 132 ++++++
 .../EntryLevelSystemCallItemProvider.java     | 201 +++++++++
 .../provider/LoopUserActionItemProvider.java  | 178 ++++++++
 .../OpenWorkloadTypeItemProvider.java         | 132 ++++++
 .../ScenarioBehaviorItemProvider.java         | 183 ++++++++
 .../provider/UsageScenarioItemProvider.java   | 184 ++++++++
 .../workload/provider/WorkloadEditPlugin.java |  99 +++++
 .../provider/WorkloadItemProvider.java        | 196 +++++++++
 .../WorkloadItemProviderAdapterFactory.java   | 416 ++++++++++++++++++
 ...der.java => WorkloadTypeItemProvider.java} |  35 +-
 37 files changed, 2298 insertions(+), 32 deletions(-)
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/{CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif => CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif} (71%)
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/{CreateScenarioBehavior_actions_StartUserAction.gif => CreateBranchUserAction_branches_ScenarioBehavior.gif} (71%)
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/{CreateScenarioBehavior_actions_StopUserAction.gif => CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif} (71%)
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/{StopUserAction.gif => BranchUserAction.gif} (50%)
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/{ParameterSetting.gif => CallParameterSetting.gif} (50%)
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif
 rename edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/{StartUserAction.gif => Workload.gif} (100%)
 rename edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/{StopUserActionItemProvider.java => AbstractUserActionItemProvider.java} (83%)
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
 rename edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/{StartUserActionItemProvider.java => WorkloadTypeItemProvider.java} (84%)

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterUsage_ParameterSetting.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_RandomVariable.gif
index 700bd5ecdaf12876e4bb3c0589a19d68ed649c49..12d45aab7d83c0303e1a239db655e80d4a3872e2 100644
GIT binary patch
delta 40
ycmV+@0N4ND0p9_TA0Bz8(m+5!|Nmc~UqAofKY)OM)`Hf?Q^u@0tcEOxkv*cEZWO!#

delta 40
wcmcc5c%N~Cyj(*=L-4U<|NqC&kGKDS-yX=_bLmCTrkiOq&p0$3m}t8Q0Ji8BYybcN

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StartUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branches_ScenarioBehavior.gif
index 7926c34197a07b0edbcff171838e21d13464ccb5..7adf9acc6d9973159ba8eb5c0162949cc73e05b4 100644
GIT binary patch
delta 46
zcmV+}0MY;70p9_T86^1i``E?ozn|ZxdD8#?U!Pw;|KC4=fPmJ5*2YuDtU0WPEQXOi
EqMrF1ssI20

delta 46
zcmV+}0MY;70p9_T86@@l_{HqlpWnZE(x(6aU!Pw;|KC4=fPnb*``E?ozn|ZxdD4+R
EqPYzoa{vGU

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_StopUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateEntryLevelSystemCall_inputParameterSettings_CallParameterSetting.gif
index 85753e9f7091c08d1f9a859be4d9ec7eae9ea19c..c461d5746b920863218203fc45d6567271d14bcd 100644
GIT binary patch
delta 46
zcmV+}0MY;70p9_T86?(%tj1G}tT}UrELs2mU!Pw;|KC4=fPlQx=!~-2W|_=DfWVPG
EqA;Zy82|tP

delta 46
zcmV+}0MY;70p9_T86>>uyo}k5X3S<lz(D{1U!Pw;|KC4=fPnb*``E?ozn|ZxdD4+R
EqG!t+{Qv*}

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateLoopUserAction_loopBodyScenarioBehavior_ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f768689d3de81bb2be5fbe5aab1d1e727a97bffc
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{P_C&#?d$X=igsedFlWE`1$en|L@y3
zG&D3_YYILVY`Ml#r%h+qbTuH_I!Sq5m;BNusd<%RGfRa3{e2Hae?OlGqCd|U|GwJ{
zGz|h2f3h%wSUMmAWG4e_jDkX6N~E0{!_2dXr(D=NslT~zQi-SWXOo_5*^@NI)cd89
zGo1r9W-mX%F4Ctp=hR6zD+V34``#`V0znP4UnG23bh4dkVS=0djh33*xmu@Rrsp%{
P)HJ0wHf5_SGFSruTk&FF

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_BranchUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1611c0c15443b0532e4233aa9f1fa6498ba9ab85
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tx+^^Ecn<O%QbB}ZU6tr&yTnNf8V~L
zq2b5Z-#3oF*+2jOvdT-lrmF$b)=A3iy5yHONzJPin^_|K@9%pc`uq7j5dC?+`1jpr
zplJ}G_>+YZ#L@u~AUhdYV-ytnQX=it7-pV5JmtdHN&U@zlS({|Kb!Pi%buhurrs}=
zoar2>F?;z5c9A}<Ij2s#SuyCS-S>8}5D03R{UYJRqLb}R3lrSrZ?x3h&eb~oGCiLm
Pr=}^ju_;?sk--`OBKKqS

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_DelayUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98c2fa25c69c9e1016861b40e26b271e1edc4a95
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqO=KL7v6&yTnNf8QR+
z{qgnpjiYb&&%eK{^3ty9YCyDglJdGP`K3)#^D4z=mI(j*`yPn?em)OGf1WS?eYY8C
z8U!f*WMKrcbU*~iP6pN(1%<wpNINx#nP(4Axv+Ioe{<iY5>MmLCOy}(CuxeQ_e&*b
zItOaZUVegIq)%(ksgrJ23_5D}y<IE>f*NMONcgbmWINNs1ULB`Ej71uwNAfG&u7S~
OX-aKu%2rimum%9$@MD$$

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_EntryLevelSystemCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e564f3f06e4e8b1614b63da4600b26598e84ec0d
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?78%!XVcBJnP(gt4*dTgKR@37|9$(0
zhK3(sf8RLzX8-*A%PKGJnyv;!TPG>6>ylsEBsH&6Y-Wk@zrXK+=<nzAK=kMN;@@|h
zfu=!#;!hSv5K9L{fb3*ojZskOONq2oW0-mN@RSQ%C-pb?O)Bv;{%q27Eqjutn0mid
za;9^j#_Z)M*hTuZ=A1g|X2qbRcHi5@LLjJN_KSoMi%zyPElhBeztK{2J6G%U%k+GP
PoSLT8#-?mlMFwjC<CbLg

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateScenarioBehavior_actions_LoopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4fc15c12ddf119e4ba484ae71c3f64d25b640526
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G+k>7J{D}b#!{zE=l}os`SJGu@7p&t
zH2nDb`^M2X`{&<ZR(WaHbTuH_I!Sq5m;BNusd<%RGfRa3{e2Hae?OlGqCd|U|GwJ{
zGz|h2f3h%wSUMmAWG4e_jDkX6N~E0{!_2dXr(D=NslT~zQi-SWXOo_5*^@NI)cd89
zGo1r9W-mX%F4Ctp=hR6zD+V34``#`V0znP4UnG23bh4dkVS=0djh33*xmu@Rrsp%{
P)HJ0wHf5_SGFSru^D1Ir

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_scenarioBehavior_ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c2326eff67c36937694a28717e53021d52f9fc72
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{P_C&#?d$X=igsedFlWE`1$en|L@y3
zG&CGIaA3}yIhB={92^{WO;-b=t&^13b;&PnlA2d3HnT+d-{1E@^!M|5Ao}xs@$b9M
zK+_;V@h1x-h@}G}Kz1^)#waNCr9|4PG0Z%Bc*=#Xllq(cCY5*^e>Um4mOV*ROub(!
zIny~%WA^eB>>_<yb55OfvtrOuyYKB{ArRCs`$fWsMJL;t7ACmK-)O11ovU^FWqLkC
PPEAv4V^g-OB7-#mKDT4F

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_ClosedWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a674b69c27110f2fc17ff3f0cd277c7e415d8506
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqVFga7}JpC51k|Gqtt
z3lXoZyyW2Euxq*+5N(~Lysk@rX_M5vO0k(G!vFrh2co~9&jZn)=Zk;eZ3dbK0g69a
z7(px@5CO82fi*@!p)V!UPK{ya*~3#VY@O8K+&8Jj)A+MV&$aAHnqunxQpuUlff}=y
zpI{g1)0%VYq?;9kj@o^17Yl))hS@I?J}f%f&a^PWP5wqp&Fx&R(=XHW8FFfxQX8AH
IRTUYm0Y*+?761SM

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateUsageScenario_workloadType_OpenWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4bffd128967482a53a248a94b8ae51da10ef745
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?14mbe8|Nrsx<L&?7w{K`@
zfQVOCUIL2mnyv;!TPG>6>ylsEBsH&6Y-Wk@zrXK+=<nzAK=kMN;@@|hfu=!#;!hSv
z5K9L{fb3*ojZskOONq2oW0-mN@RSQ%C-pb?O)Bv;{%q27Eqjutn0mida;9^j#_Z)M
z*hTuZ=A1g|X2qbRcHi5@LLjJN_KSoMi%zyPElhBeztK{2J6G%U%k+GPoSLT8#-?ml
HMFwjC_q<@L

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateWorkload_usageScenarios_UsageScenario.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e6a569287fbcd9c39e58303551fa064c4b09915c
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@wm6seG9RB~0pC51k|Gs@g
zL&MkKKaRe+G5`Ml%1g_3O;-b=t&^13b;&PnlA2d3HnT+d-{1E@^!M|5Ao}xs@$b9M
zK+_;V@h1x-h@}G}Kz1^)#waNCr9|4PG0Z%Bc*=#Xllq(cCY5*^e>Um4mOV*ROub(!
zIny~%WA^eB>>_<yb55OfvtrOuyYKB{ArRCs`$fWsMJL;t7ACmK-)O11ovU^FWqLkC
PPEAv4V^g-OB7-#m_5fqG

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StopUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/BranchUserAction.gif
index 8a5c70cbd74c87cb3b1df383e0c242ede4660c3b..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a 100644
GIT binary patch
delta 22
ecmZo<Y-F5Z$aAgf+OgncYb@8a>9kF>bpZftvkAHY

delta 22
ecmZo<Y-F5Z$g}6go}QaMX=l<L4meD-bpZfxl?n|2

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ParameterSetting.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/CallParameterSetting.gif
index c4fb30e96873d2484faec9d508dcbdd69e73d82e..9250fecbffd185d174d53f6b7ea979f63ce222d2 100644
GIT binary patch
delta 22
dcmZo<Y-F5Z$aAe}&9UH~HI~I~I*}7?T>xbY2=D*^

delta 22
ecmZo<Y-F5Z$aCPpfjM*LG&D2>A3HYD)&&4=ehOCr

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ClosedWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30f0c48da8d4450f7e94a696c4de0a7cc41aa728
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;<LW5L0S
zKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^%6nF7
S^6M^V>~uRaQAn7P!5RR`@-PYj

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/DelayUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;<LVl^Md
zpDc_F44e!)Ae|sH7+CZSPI|81Yw`NaHx>Seg|6F8S#PBzcr94?)kg2*G_|W{<vlAk
S`E{2wcDfyzC?w3tU=0AIyf1?Q

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/EntryLevelSystemCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Nna~z3AC=Gi~M>
zhlT@+KUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^
W%6nF7^6M^V>~uRaQAn7P!5RPum@wi1

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/LoopUserAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Nl+bnu3o7TduLx
zY12{s$->CMz{#Kk(g`wyfkn^Yr043r7O%g2Q{jJD=(^pM^;SxP*Mfy#ZS+1)Q@d(b
V-m_AZUw1iUr`wT<Lc)v;)&NLfE=&Lb

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/OpenWorkloadType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10d222998af0a3a571390bae7e117c9964ec1562
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH+*$H~@j-
zPZmZ722KVYkWP>p3@myECp}m1wRrvIn+pHKLf7r4thZ7UycR6{YNPjYn%Y&f@}8BN
S{JP5-JKc^<6cT1+um%9FH!q$5

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/ScenarioBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|NlR}{=RYa&HnlK
zmsMU;{K>+|z`)6%1JVgHgMmfQ;H2m3y%w*(d{g0nSm?Ull=W6hg4cqDUv2b0PE)&T
WR^GExlV5i^W2f7Zi9*7R4AuaR0y3!p

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/UsageScenario.gif
new file mode 100644
index 0000000000000000000000000000000000000000..134551bff7eb3f0beb14a6c4a270a2a94f782ec5
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH>=1mmC}%
z6o0ZXGB9v5=zw&B%wS;AGdStFdauRnFW*%79~Qc9H)Xw*lHj#q;a3~IkJHqynw9sg
T)a2J)&e-X8WTKETBZD;nt%5J2

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/StartUserAction.gif
rename to edu.kit.ipd.descartes.mm.workload.edit/icons/full/obj16/Workload.gif
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
index e33138bd..0073fdbd 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
@@ -77,3 +77,4 @@ _UI_CallParameterSetting_characterization_feature = Characterization
 _UI_CallParameterSetting_value_feature = Value
 _UI_Workload_systems_feature = Systems
 _UI_Workload_system_feature = System
+_UI_EntryLevelSystemCall_providingRole_feature = Providing Role
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
similarity index 83%
rename from edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
index 7f010331..e5851833 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StopUserActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/AbstractUserActionItemProvider.java
@@ -10,21 +10,24 @@ import java.util.List;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
+import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 
 /**
- * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.StopUserAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.AbstractUserAction} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StopUserActionItemProvider
-	extends AbstractUserActionItemProvider
+public class AbstractUserActionItemProvider
+	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +40,7 @@ public class StopUserActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StopUserActionItemProvider(AdapterFactory adapterFactory) {
+	public AbstractUserActionItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,17 +59,6 @@ public class StopUserActionItemProvider
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This returns StopUserAction.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StopUserAction"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -75,7 +67,7 @@ public class StopUserActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StopUserAction_type");
+		return getString("_UI_AbstractUserAction_type");
 	}
 
 	/**
@@ -103,4 +95,15 @@ public class StopUserActionItemProvider
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
 }
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java
new file mode 100644
index 00000000..c8d2de64
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/BranchUserActionItemProvider.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+
+import edu.kit.ipd.descartes.mm.workload.BranchUserAction;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BranchUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCHES);
+			childrenFeatures.add(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns BranchUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_BranchUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BranchUserAction.class)) {
+			case WorkloadPackage.BRANCH_USER_ACTION__BRANCHES:
+			case WorkloadPackage.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCHES,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.BRANCH_USER_ACTION__BRANCH_USER_PROBABILITIES,
+				 FunctionsFactory.eINSTANCE.createRandomVariable()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java
new file mode 100644
index 00000000..b965304a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/CallParameterSettingItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.CallParameterSetting;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallParameterSettingItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CallParameterSettingItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addNamePropertyDescriptor(object);
+			addCharacterizationPropertyDescriptor(object);
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Name feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addNamePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_name_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Characterization feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addCharacterizationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_characterization_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameterSetting_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameterSetting_value_feature", "_UI_CallParameterSetting_type"),
+				 WorkloadPackage.Literals.CALL_PARAMETER_SETTING__VALUE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CallParameterSetting.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CallParameterSetting"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CallParameterSetting)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CallParameterSetting_type") :
+			getString("_UI_CallParameterSetting_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CallParameterSetting.class)) {
+			case WorkloadPackage.CALL_PARAMETER_SETTING__NAME:
+			case WorkloadPackage.CALL_PARAMETER_SETTING__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java
new file mode 100644
index 00000000..1b1dc597
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ClosedWorkloadTypeItemProvider.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.math.BigInteger;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClosedWorkloadTypeItemProvider
+	extends WorkloadTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ClosedWorkloadTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addPopulationPropertyDescriptor(object);
+			addThinkTimePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Population feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addPopulationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ClosedWorkloadType_population_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ClosedWorkloadType_population_feature", "_UI_ClosedWorkloadType_type"),
+				 WorkloadPackage.Literals.CLOSED_WORKLOAD_TYPE__POPULATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Think Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addThinkTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ClosedWorkloadType_thinkTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ClosedWorkloadType_thinkTime_feature", "_UI_ClosedWorkloadType_type"),
+				 WorkloadPackage.Literals.CLOSED_WORKLOAD_TYPE__THINK_TIME,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ClosedWorkloadType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ClosedWorkloadType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((ClosedWorkloadType)object).getPopulation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ClosedWorkloadType_type") :
+			getString("_UI_ClosedWorkloadType_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ClosedWorkloadType.class)) {
+			case WorkloadPackage.CLOSED_WORKLOAD_TYPE__POPULATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java
new file mode 100644
index 00000000..bf706f8f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/DelayUserActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DelayUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DelayUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addTimeSpecificationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Time Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addTimeSpecificationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DelayUserAction_timeSpecification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DelayUserAction_timeSpecification_feature", "_UI_DelayUserAction_type"),
+				 WorkloadPackage.Literals.DELAY_USER_ACTION__TIME_SPECIFICATION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DelayUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DelayUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DelayUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java
new file mode 100644
index 00000000..944cdec3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/EntryLevelSystemCallItemProvider.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EntryLevelSystemCallItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EntryLevelSystemCallItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addProvidingRolePropertyDescriptor(object);
+			addSignaturePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Providing Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidingRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EntryLevelSystemCall_providingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EntryLevelSystemCall_providingRole_feature", "_UI_EntryLevelSystemCall_type"),
+				 WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__PROVIDING_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EntryLevelSystemCall_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EntryLevelSystemCall_signature_feature", "_UI_EntryLevelSystemCall_type"),
+				 WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns EntryLevelSystemCall.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EntryLevelSystemCall"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_EntryLevelSystemCall_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(EntryLevelSystemCall.class)) {
+			case WorkloadPackage.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.ENTRY_LEVEL_SYSTEM_CALL__INPUT_PARAMETER_SETTINGS,
+				 WorkloadFactory.eINSTANCE.createCallParameterSetting()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java
new file mode 100644
index 00000000..33da517b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/LoopUserActionItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.LoopUserAction;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopUserActionItemProvider
+	extends AbstractUserActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopUserActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addLoopIterationCountDistributionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Loop Iteration Count Distribution feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addLoopIterationCountDistributionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_LoopUserAction_loopIterationCountDistribution_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_LoopUserAction_loopIterationCountDistribution_feature", "_UI_LoopUserAction_type"),
+				 WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns LoopUserAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopUserAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_LoopUserAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(LoopUserAction.class)) {
+			case WorkloadPackage.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_BODY_SCENARIO_BEHAVIOR,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java
new file mode 100644
index 00000000..e6e809a4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/OpenWorkloadTypeItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OpenWorkloadTypeItemProvider
+	extends WorkloadTypeItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public OpenWorkloadTypeItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addInterArrivalTimePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inter Arrival Time feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterArrivalTimePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_OpenWorkloadType_interArrivalTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_OpenWorkloadType_interArrivalTime_feature", "_UI_OpenWorkloadType_type"),
+				 WorkloadPackage.Literals.OPEN_WORKLOAD_TYPE__INTER_ARRIVAL_TIME,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns OpenWorkloadType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/OpenWorkloadType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_OpenWorkloadType_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
new file mode 100644
index 00000000..435341e3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/ScenarioBehaviorItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.mm.workload.ScenarioBehavior;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ScenarioBehaviorItemProvider
+	extends ItemProviderAdapter
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ScenarioBehaviorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns ScenarioBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ScenarioBehavior"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ScenarioBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ScenarioBehavior.class)) {
+			case WorkloadPackage.SCENARIO_BEHAVIOR__ACTIONS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createLoopUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createDelayUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createBranchUserAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.SCENARIO_BEHAVIOR__ACTIONS,
+				 WorkloadFactory.eINSTANCE.createEntryLevelSystemCall()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java
new file mode 100644
index 00000000..1b47d741
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/UsageScenarioItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.workload.UsageScenario;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.UsageScenario} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UsageScenarioItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UsageScenarioItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.USAGE_SCENARIO__SCENARIO_BEHAVIOR);
+			childrenFeatures.add(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns UsageScenario.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/UsageScenario"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((UsageScenario)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_UsageScenario_type") :
+			getString("_UI_UsageScenario_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(UsageScenario.class)) {
+			case WorkloadPackage.USAGE_SCENARIO__SCENARIO_BEHAVIOR:
+			case WorkloadPackage.USAGE_SCENARIO__WORKLOAD_TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__SCENARIO_BEHAVIOR,
+				 WorkloadFactory.eINSTANCE.createScenarioBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE,
+				 WorkloadFactory.eINSTANCE.createOpenWorkloadType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.USAGE_SCENARIO__WORKLOAD_TYPE,
+				 WorkloadFactory.eINSTANCE.createClosedWorkloadType()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java
new file mode 100644
index 00000000..e84907e3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadEditPlugin.java
@@ -0,0 +1,99 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Workload edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class WorkloadEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final WorkloadEditPlugin INSTANCE = new WorkloadEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     ApplicationlevelEditPlugin.INSTANCE,
+		     CoreEditPlugin.INSTANCE,
+		     IdentifierEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java
new file mode 100644
index 00000000..4856f102
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+
+import edu.kit.ipd.descartes.mm.workload.Workload;
+import edu.kit.ipd.descartes.mm.workload.WorkloadFactory;
+import edu.kit.ipd.descartes.mm.workload.WorkloadPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.Workload} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkloadItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+			addSystemPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the System feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSystemPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Workload_system_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Workload_system_feature", "_UI_Workload_type"),
+				 WorkloadPackage.Literals.WORKLOAD__SYSTEM,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(WorkloadPackage.Literals.WORKLOAD__USAGE_SCENARIOS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns Workload.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Workload"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Workload)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Workload_type") :
+			getString("_UI_Workload_type") + " " + label;
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Workload.class)) {
+			case WorkloadPackage.WORKLOAD__USAGE_SCENARIOS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(WorkloadPackage.Literals.WORKLOAD__USAGE_SCENARIOS,
+				 WorkloadFactory.eINSTANCE.createUsageScenario()));
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
new file mode 100644
index 00000000..ec6c066b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadItemProviderAdapterFactory.java
@@ -0,0 +1,416 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.workload.provider;
+
+import edu.kit.ipd.descartes.mm.workload.util.WorkloadAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class WorkloadItemProviderAdapterFactory extends WorkloadAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public WorkloadItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.Workload} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected WorkloadItemProvider workloadItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.Workload}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createWorkloadAdapter() {
+		if (workloadItemProvider == null) {
+			workloadItemProvider = new WorkloadItemProvider(this);
+		}
+
+		return workloadItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.UsageScenario} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UsageScenarioItemProvider usageScenarioItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.UsageScenario}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createUsageScenarioAdapter() {
+		if (usageScenarioItemProvider == null) {
+			usageScenarioItemProvider = new UsageScenarioItemProvider(this);
+		}
+
+		return usageScenarioItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ScenarioBehaviorItemProvider scenarioBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.ScenarioBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createScenarioBehaviorAdapter() {
+		if (scenarioBehaviorItemProvider == null) {
+			scenarioBehaviorItemProvider = new ScenarioBehaviorItemProvider(this);
+		}
+
+		return scenarioBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected OpenWorkloadTypeItemProvider openWorkloadTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.OpenWorkloadType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createOpenWorkloadTypeAdapter() {
+		if (openWorkloadTypeItemProvider == null) {
+			openWorkloadTypeItemProvider = new OpenWorkloadTypeItemProvider(this);
+		}
+
+		return openWorkloadTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ClosedWorkloadTypeItemProvider closedWorkloadTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.ClosedWorkloadType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createClosedWorkloadTypeAdapter() {
+		if (closedWorkloadTypeItemProvider == null) {
+			closedWorkloadTypeItemProvider = new ClosedWorkloadTypeItemProvider(this);
+		}
+
+		return closedWorkloadTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopUserActionItemProvider loopUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.LoopUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopUserActionAdapter() {
+		if (loopUserActionItemProvider == null) {
+			loopUserActionItemProvider = new LoopUserActionItemProvider(this);
+		}
+
+		return loopUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DelayUserActionItemProvider delayUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.DelayUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDelayUserActionAdapter() {
+		if (delayUserActionItemProvider == null) {
+			delayUserActionItemProvider = new DelayUserActionItemProvider(this);
+		}
+
+		return delayUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchUserActionItemProvider branchUserActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.BranchUserAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchUserActionAdapter() {
+		if (branchUserActionItemProvider == null) {
+			branchUserActionItemProvider = new BranchUserActionItemProvider(this);
+		}
+
+		return branchUserActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EntryLevelSystemCallItemProvider entryLevelSystemCallItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.EntryLevelSystemCall}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEntryLevelSystemCallAdapter() {
+		if (entryLevelSystemCallItemProvider == null) {
+			entryLevelSystemCallItemProvider = new EntryLevelSystemCallItemProvider(this);
+		}
+
+		return entryLevelSystemCallItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CallParameterSettingItemProvider callParameterSettingItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.workload.CallParameterSetting}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCallParameterSettingAdapter() {
+		if (callParameterSettingItemProvider == null) {
+			callParameterSettingItemProvider = new CallParameterSettingItemProvider(this);
+		}
+
+		return callParameterSettingItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (workloadItemProvider != null) workloadItemProvider.dispose();
+		if (usageScenarioItemProvider != null) usageScenarioItemProvider.dispose();
+		if (scenarioBehaviorItemProvider != null) scenarioBehaviorItemProvider.dispose();
+		if (openWorkloadTypeItemProvider != null) openWorkloadTypeItemProvider.dispose();
+		if (closedWorkloadTypeItemProvider != null) closedWorkloadTypeItemProvider.dispose();
+		if (loopUserActionItemProvider != null) loopUserActionItemProvider.dispose();
+		if (delayUserActionItemProvider != null) delayUserActionItemProvider.dispose();
+		if (branchUserActionItemProvider != null) branchUserActionItemProvider.dispose();
+		if (entryLevelSystemCallItemProvider != null) entryLevelSystemCallItemProvider.dispose();
+		if (callParameterSettingItemProvider != null) callParameterSettingItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
similarity index 84%
rename from edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
index 19a9ac38..b5b5d519 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/StartUserActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.workload.edit/src/edu/kit/ipd/descartes/mm/workload/provider/WorkloadTypeItemProvider.java
@@ -10,21 +10,24 @@ import java.util.List;
 import org.eclipse.emf.common.notify.AdapterFactory;
 import org.eclipse.emf.common.notify.Notification;
 
+import org.eclipse.emf.common.util.ResourceLocator;
+
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
 import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 
 /**
- * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.StartUserAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.workload.WorkloadType} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StartUserActionItemProvider
-	extends AbstractUserActionItemProvider
+public class WorkloadTypeItemProvider
+	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +40,7 @@ public class StartUserActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StartUserActionItemProvider(AdapterFactory adapterFactory) {
+	public WorkloadTypeItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,17 +59,6 @@ public class StartUserActionItemProvider
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This returns StartUserAction.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StartUserAction"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -75,7 +67,7 @@ public class StartUserActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StartUserAction_type");
+		return getString("_UI_WorkloadType_type");
 	}
 
 	/**
@@ -103,4 +95,15 @@ public class StartUserActionItemProvider
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 	}
 
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return WorkloadEditPlugin.INSTANCE;
+	}
+
 }
-- 
GitLab