From 314af46b8dc49875cab834546af88d4493deaad2 Mon Sep 17 00:00:00 2001
From: Fabian Brosig <fabian.brosig@uni-wuerzburg.de>
Date: Thu, 7 Nov 2013 18:11:30 +0000
Subject: [PATCH] application level metamodel iteration

git-svn-id: https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13567 9e42b895-fcda-4063-8a3b-11be15eb1bbd
---
 .../META-INF/MANIFEST.MF                      |   4 +-
 ...reateBoxedPDF_samples_ContinuousSample.gif | Bin 0 -> 223 bytes
 .../CreateCallParameter_scopeSet_ScopeSet.gif | Bin 0 -> 223 bytes
 ...ble_explicitDescription_RandomVariable.gif | Bin 0 -> 223 bytes
 ...ceReference_ComponentInstanceReference.gif | Bin 0 -> 223 bytes
 ...ion_expression_BinaryBooleanExpression.gif | Bin 0 -> 223 bytes
 ...tDescription_expression_BooleanLiteral.gif | Bin 0 -> 223 bytes
 ...xplicitDescription_expression_BoxedPDF.gif | Bin 0 -> 223 bytes
 ...licitDescription_expression_Comparison.gif | Bin 0 -> 223 bytes
 ...itDescription_expression_DoubleLiteral.gif | Bin 0 -> 223 bytes
 ...ion_expression_ExponentialDistribution.gif | Bin 0 -> 223 bytes
 ...Description_expression_FormalParameter.gif | Bin 0 -> 223 bytes
 ...xplicitDescription_expression_Function.gif | Bin 0 -> 223 bytes
 ...escription_expression_IfElseExpression.gif | Bin 0 -> 223 bytes
 ...licitDescription_expression_IntLiteral.gif | Bin 0 -> 223 bytes
 ...cription_expression_NormalDistribution.gif | Bin 0 -> 223 bytes
 ...teExplicitDescription_expression_Power.gif | Bin 0 -> 223 bytes
 ...ion_expression_ProbabilityMassFunction.gif | Bin 0 -> 223 bytes
 ...ExplicitDescription_expression_Product.gif | Bin 0 -> 223 bytes
 ...ateExplicitDescription_expression_Term.gif | Bin 0 -> 223 bytes
 ...tion_expression_UnaryBooleanExpression.gif | Bin 0 -> 223 bytes
 ...alCallAction_externalCall_ExternalCall.gif | Bin 0 -> 223 bytes
 ..._loopIterationCount_LoopIterationCount.gif | Bin 0 -> 223 bytes
 ...xplicitDescription_ExplicitDescription.gif | Bin 0 -> 223 bytes
 ...ble_explicitDescription_RandomVariable.gif | Bin 0 -> 223 bytes
 ...ship_characterization_Characterization.gif | Bin 0 -> 223 bytes
 ...xplicitDescription_ExplicitDescription.gif | Bin 0 -> 223 bytes
 ...Repository_datatypes_PrimitiveDataType.gif | Bin 0 -> 223 bytes
 ...and_explicitDescription_RandomVariable.gif | Bin 0 -> 223 bytes
 ...ime_explicitDescription_RandomVariable.gif | Bin 0 -> 223 bytes
 ...n_influencingParameter_ShadowParameter.gif | Bin 0 -> 223 bytes
 .../icons/full/obj16/ExplicitDescription.gif  | Bin 0 -> 129 bytes
 .../icons/full/obj16/LoopIterationCount.gif   | Bin 0 -> 129 bytes
 .../icons/full/obj16/PrimitiveDataType.gif    | Bin 0 -> 129 bytes
 .../icons/full/obj16/Scope.gif                | Bin 0 -> 129 bytes
 .../icons/full/obj16/ShadowParameter.gif      | Bin 0 -> 129 bytes
 .../plugin.properties                         |  40 +++++
 .../BinaryBooleanExpressionItemProvider.java  |  40 ++---
 .../provider/ComparisonItemProvider.java      |  40 ++---
 .../ExplicitDescriptionItemProvider.java}     | 125 ++++++++++---
 .../provider/FunctionItemProvider.java        |  20 +--
 .../FunctionsItemProviderAdapterFactory.java  |  46 ++---
 .../IfElseExpressionItemProvider.java         |  60 +++----
 .../provider/LiteralItemProvider.java         |   2 +-
 .../functions/provider/PowerItemProvider.java |  40 ++---
 .../provider/ProductItemProvider.java         |  40 ++---
 .../functions/provider/TermItemProvider.java  |  40 ++---
 .../UnaryBooleanExpressionItemProvider.java   |  20 +--
 .../provider/CallParameterItemProvider.java   |   6 +-
 .../ControlFlowVariableItemProvider.java      |  81 ++++++++-
 .../CorrelationRelationshipItemProvider.java  |  49 ++---
 .../DependencyRelationshipItemProvider.java   |  68 ++-----
 .../ExternalCallParameterItemProvider.java    |   4 +-
 ...ternalCallReturnParameterItemProvider.java |   4 +-
 .../InfluencingParameterItemProvider.java     |  61 +------
 .../provider/ModelVariableItemProvider.java   |   4 +
 ...ependenciesItemProviderAdapterFactory.java |  34 ++--
 .../provider/RelationshipItemProvider.java    |  62 ++++++-
 .../provider/ScopeItemProvider.java           | 148 +++++++++++++++
 .../ServiceInputParameterItemProvider.java    |  16 +-
 .../provider/ShadowParameterItemProvider.java | 168 ++++++++++++++++++
 .../provider/ApplicationlevelEditPlugin.java  |   2 +
 .../PrimitiveDataTypeItemProvider.java}       |  66 +++----
 .../provider/RepositoryItemProvider.java      |   5 +
 .../RepositoryItemProviderAdapterFactory.java |  26 ++-
 .../BranchProbabilitiesItemProvider.java      |   8 +-
 .../provider/CallFrequencyItemProvider.java   |  31 +---
 .../ExternalCallActionItemProvider.java       |  63 ++++---
 .../ExternalCallFrequencyItemProvider.java    |   5 -
 .../provider/LoopActionItemProvider.java      |   8 +-
 .../LoopIterationCountItemProvider.java       | 131 ++++++++++++++
 .../provider/ResourceDemandItemProvider.java  | 104 ++++++++++-
 .../provider/ResponseTimeItemProvider.java    |  81 ++++++++-
 ...erviceBehaviorAbstractionItemProvider.java |   2 +-
 ...icebehaviorItemProviderAdapterFactory.java |  16 +-
 .../META-INF/MANIFEST.MF                      |   3 +-
 .../plugin.properties                         |   6 +
 .../plugin.xml                                | 118 ++++++++++++
 .../presentation/FunctionsEditor.java         |  83 +++++----
 .../presentation/FunctionsModelWizard.java    |   3 +-
 .../ParameterdependenciesEditor.java          |  91 +++++-----
 .../ParameterdependenciesModelWizard.java     |   3 +-
 .../ApplicationlevelEditorPlugin.java         |   2 +
 .../presentation/RepositoryEditor.java        |  83 +++++----
 .../presentation/RepositoryModelWizard.java   |   3 +-
 .../presentation/ServicebehaviorEditor.java   |  91 +++++-----
 .../ServicebehaviorModelWizard.java           |   3 +-
 .../system/presentation/SystemEditor.java     |  83 +++++----
 .../presentation/SystemModelWizard.java       |   3 +-
 .../META-INF/MANIFEST.MF                      |   4 +-
 ...hUserProbabilities_ExplicitDescription.gif | Bin 0 -> 223 bytes
 .../plugin.properties                         |   1 +
 .../plugin.xml                                |  13 ++
 .../provider/LoopUserActionItemProvider.java  |  12 +-
 .../workload/provider/WorkloadEditPlugin.java |   2 +
 .../META-INF/MANIFEST.MF                      |   3 +-
 .../plugin.xml                                |  12 ++
 .../workload/presentation/WorkloadEditor.java |  83 +++++----
 .../presentation/WorkloadEditorPlugin.java    |   2 +
 .../presentation/WorkloadModelWizard.java     |   3 +-
 100 files changed, 1734 insertions(+), 746 deletions(-)
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_samples_ContinuousSample.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCallParameter_scopeSet_ScopeSet.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateControlFlowVariable_explicitDescription_RandomVariable.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_destinationComponentInstanceReference_ComponentInstanceReference.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BinaryBooleanExpression.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BooleanLiteral.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BoxedPDF.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Comparison.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_DoubleLiteral.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ExponentialDistribution.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_FormalParameter.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Function.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IfElseExpression.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IntLiteral.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_NormalDistribution.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Power.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ProbabilityMassFunction.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Product.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Term.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_UnaryBooleanExpression.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallAction_externalCall_ExternalCall.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCount_LoopIterationCount.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_ExplicitDescription.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_RandomVariable.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_characterization_Characterization.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_explicitDescription_ExplicitDescription.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResourceDemand_explicitDescription_RandomVariable.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResponseTime_explicitDescription_RandomVariable.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ShadowParameter.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitDescription.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCount.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ShadowParameter.gif
 rename edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/{parameterdependencies/provider/CharacterizationItemProvider.java => functions/provider/ExplicitDescriptionItemProvider.java} (55%)
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ShadowParameterItemProvider.java
 rename edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/{functions/provider/ExplicitFunctionItemProvider.java => repository/provider/PrimitiveDataTypeItemProvider.java} (64%)
 create mode 100644 edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountItemProvider.java
 create mode 100644 edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_ExplicitDescription.gif

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF
index 5c74c37f..4aa5dd94 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/META-INF/MANIFEST.MF
@@ -20,5 +20,7 @@ Require-Bundle: org.eclipse.core.runtime,
  edu.kit.ipd.descartes.core;visibility:=reexport,
  edu.kit.ipd.descartes.core.edit;visibility:=reexport,
  edu.kit.ipd.descartes.identifier;visibility:=reexport,
- edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape.edit;visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_samples_ContinuousSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_samples_ContinuousSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..388fb52f1e2049dff174ff2a29e88a1d19c96cae
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0Ipi=jNugGcz3yH2nV`KR@37|9$(0
zhKAq2zrJ~M^#1+%mo8QAnyv;!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#-?mlMFwjCCEaCM

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCallParameter_scopeSet_ScopeSet.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCallParameter_scopeSet_ScopeSet.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8ee387a3ce098b74d29d76ef4005710845f6ed
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tx+^^Ecn<O%QbB}ZU6tr&yTnNf8V~L
zq2a)R19Rrgad0@`;NY-px*8B|ous_3OMYpS)VxZunI*#i{=NsIzn{+o(Vypwf8T8e
zng#)iKUo+-EFBO5vXg-|MnR!3CDKlfVdmMxQ!Z?s)Zg4Usl?Oxvq{gj>`9tp>its5
zna+V4vzMP>7wOZQbLym<6@!l2eQy^FfuM%jFA_d1I@!*&Fu_g!MoZ1@T&>eD)AJc}
OYMN3To3d3E8LR=&gkWd@

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateControlFlowVariable_explicitDescription_RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateControlFlowVariable_explicitDescription_RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12d45aab7d83c0303e1a239db655e80d4a3872e2
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@w%Pu)MIQ;(~KR@37|9$(0
zhK6fR*Nz1rTVuJVO{Z<wbTuH_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_SGFSruLYZM1

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_destinationComponentInstanceReference_ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_destinationComponentInstanceReference_ComponentInstanceReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90a8446b93e673cf3e21a7b40e86559ba3e35fed
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4Gjkl95|D92FP%5aM(3n4T!c*QeM|3zqCneUZvQ~65)S;-viO#&*y>Y&-2B<?=}NX
zg8;>!EQ}zQ4u}BR$-o+;pwO2RX{W|8^X%a%7q(97Z|<8^;%WTZq~}`pBuz2(eyQY4
z=Rl3w%TKV2^l8mGb<)j>K}YSrw~K{9P{ZsO2_F`nY-d`S;3j{grRH|7*6Ek&`3yNV
NO{tAd*{X^R)&N@WVuSzy

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..841cd276e7788a1a7994230d719a45af6a2b99b4
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G+kR0e5}WEO|ec}<p2Ni^W*LR-?wjQ
zXgF}-z??aA92yQdI5_N@t_DO~Cn>M%l3&^+HLp@^W{L2>zwd$Q@8|PC^ym5F-*=mV
zra^$>PZmZHO9w=N>||h#QBdehiL_H=n0fZ_lnYxY^*8rTD)BV_Y|?Wrdy=M@dcRb1
zrgNai?ByreMf$YnoI2@d#h{~h-`mAPAgE#Xi-Zr0PPQ{GOmLIG(Nc3eSL^i4^n8Y#
Onx@porfgM325SIep<mtr

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6678f806946a78b5bda02d4f339724d4fd792d8c
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@ymQ^}9IQ;(~KR@37|9$(0
zh6aeZL&E`}_^#<{K(uv|^13ehrA<=vD#d1&2><*09*F*aJ`Y5Ho-h7=w;5;}1StMw
zVFa;sKm^E62G$q_g}#(XJ2i%xXAe)guys;@bKj&APvg%fJ=d})X^N@$OC@JI2Wre-
zeu7=3PixMplWtZFI%@a5T`UBG8fL#p_^{|?JJZ4hH~AYaHMeuMPQOggXUM5(N^NY)
JR#jxM1_1A&V3z;@

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bcab8a03614b63044472de612bc36f82074150b
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{Qmv*&6}h5@6W$<sq+8-`1$en|L@y3
zG&CGIaA3}yISvg692^{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-#mT?Av)

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74497a786ce594f5a4114a19cb448cd63fcbb6aa
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqO=KL7v6&yTnNf8QR+
zg@`*e9B^=O*fm`Zh_+5rUe_hRv`K1SrP$08;eUVM1JU2l=Yi<Y^TogKHUmwA0L7my
zj3AZ{hydBiz#5~V(3cWvr^Ybz?BOXFwodAA?weHNY5duw=UVn8O)>R;spL%OK#keU
zPq2&hY0Wux(#?uNNA141i-kZ?!|WFc9~PZ#XIhxxCV!))=60^u>6hvG3^_GTsf|t9
Is)`KO0JcnEO8@`>

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ce1701a10bdf6a576719ae7252f8894d83302136
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b|NQ$64Gj(s4*&nh&yTnNf8QR+
z1&Ys^GsmIf08o6_bTuH_I!Sq5m;BNusd<%RGfRa3{e2Hae?OlGqCd|U|GwJ{Gz|h2
zf3h%wSUMmAWG4e_jDkX6N~E0{!_2dXr(D=NslT~zQi-SWXOo_5*^@NI)cd89Go1r9
zW-mX%F4Ctp=hR6zD+V34``#`V0znP4UnG23bh4dkVS=0djh33*xmu@Rrsp%{)HJ0w
LHf5_SGFSru>T6(+

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5cd8911d56a0f52a97021644bf3529931d5d4ee8
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b|NZ$54Gj(s4*&nh&yTnNf8QR+
z1&Ys^GsmIf08o6_bTuH_I!Sq5m;BNusd<%RGfRa3{e2Hae?OlGqCd|U|GwJ{Gz|h2
zf3h%wSUMmAWG4e_jDkX6N~E0{!_2dXr(D=NslT~zQi-SWXOo_5*^@NI)cd89Go1r9
zW-mX%F4Ctp=hR6zD+V34``#`V0znP4UnG23bh4dkVS=0djh33*xmu@Rrsp%{)HJ0w
LHf5_SGFSru>Z@Rn

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16e695e34119d5cfb541d0c17bd25e312a5c5243
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6ym+za=FOfnXVMNFaQOc}etx|D|NHh0
z4Gjkl9GEj_jzhx%2M32;)75}z>m=oMUGhttq~=wM%`6fA_xC*z{r!9%i2giZ{QGV*
z&@>28{K>)yV(EYgkev*yF$xNODUo(+3^UIjo^oO9r2gi<NhO}fpG|tMWlz!+Q}35b
z&U6mcn7#Z2yGWnboKq*=tQd6E?t8mf2n03Eev$BD(aCnEg$Zu*H(F|L=W3mPnV!#(
PQ`3~%*p#iR$Y2csK}cd+

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2bcab8a03614b63044472de612bc36f82074150b
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{Qmv*&6}h5@6W$<sq+8-`1$en|L@y3
zG&CGIaA3}yISvg692^{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-#mT?Av)

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ff2342489cd049bc6ec22b0b193ccebb5bc7821
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6eEt37=$jk!@9(d?wCw-?`1$en|L@y3
zG&CGIaA3}yISvg692^{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-#m5;S9R

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe10b8e7be48682bff854c1ea3c88372d2107ac0
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{Qmm;&Cxga=ik3ndFlWE`1$en|L@y3
zG&CGIaA3}yISvg692^{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-#mTs~ve

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c31e7a2bca96a72adbfc36bbcfb3e5ef83866ace
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?84F?<?9RB~0pC51k|Gs@g
zLj$t-uIXw(v~`m5x-R*pO;YnJ#b%ZW|NHwMi2i;)4@7^SFaCYE8E6^=DE?$&1hI5L
z1jtSX)))nazLZEiHHMjI4^O$Uby9zG-=q>x<Ig5N*Rm&RimCTYC1*MZYRq1Kf?cFf
zYtE^YZdMFBYWKZeEChlYX1_@Iu;^qv)4~Kd`5P@Yw{x{lzf8|($f;>cZEVU`Rb;RR
E0GfGVCIA2c

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74497a786ce594f5a4114a19cb448cd63fcbb6aa
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqO=KL7v6&yTnNf8QR+
zg@`*e9B^=O*fm`Zh_+5rUe_hRv`K1SrP$08;eUVM1JU2l=Yi<Y^TogKHUmwA0L7my
zj3AZ{hydBiz#5~V(3cWvr^Ybz?BOXFwodAA?weHNY5duw=UVn8O)>R;spL%OK#keU
zPq2&hY0Wux(#?uNNA141i-kZ?!|WFc9~PZ#XIhxxCV!))=60^u>6hvG3^_GTsf|t9
Is)`KO0JcnEO8@`>

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fcbb6405902ee778c70618c569442e794a8f1691
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6yx4Q;X3wTGX)_NvH2nV`KR@37|9$(0
zhK2(N4$PS|$D!eXgM-7a>1sf<b&~SBF8QTRQu8XsW|j#5`}-b<{(e3WM1P(y{(ZL@
zXc`14{$ybUv2;KL$W8{<7zKsClt?=@hM8v%Pr0ylQh#&bq!Lf#&n7+BvL|VZsrO4I
zXF3OJ%wB$iU8GNI&Z(1bRt!37_q|;#1cDl7zexD7=wv(7!UQ+@8!a`rbG1&tOwVV?
PscA}WY|2(uWUvMRy#ZmW

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe10b8e7be48682bff854c1ea3c88372d2107ac0
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{Qmm;&Cxga=ik3ndFlWE`1$en|L@y3
zG&CGIaA3}yISvg692^{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-#mTs~ve

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9975318d32d006b4fdbebe65db4de1d7c0d6ca68
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GlAm)BgXDpC51k|Gqtt
z3lVo{IN;#muxq*+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
IRTUYm0q*2rm;e9(

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitDescription_expression_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1c0d080785c940302e6106e1ea8bf122d4ea11d9
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6yx8;NX3xztX=e^N9Qgk~etx|D|NHh0
z4Gjkl9GEj_jzhx%2M32;)75}z>m=oMUGhttq~=wM%`6fA_xC*z{r!9%i2giZ{QGV*
z&@>28{K>)yV(EYgkev*yF$xNODUo(+3^UIjo^oO9r2gi<NhO}fpG|tMWlz!+Q}35b
z&U6mcn7#Z2yGWnboKq*=tQd6E?t8mf2n03Eev$BD(aCnEg$Zu*H(F|L=W3mPnV!#(
PQ`3~%*p#iR$Y2csKj~sx

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallAction_externalCall_ExternalCall.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallAction_externalCall_ExternalCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..027f1b702718a54abdad340f25abd1f6f0f8419f
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@bX4;vCh6V=*hyVZM=f~Uszi$uZ
z{{H&=&Cxga=ik3nd1=>lH6YqLNqJqD{L&_=d6i-_ON9UZeGf!`Kc5GpKhGEczS|5m
z4FVK@vM_>JIv@gMCj)DYf<j+Pq@5bW%(I85T-Z9PzqxNxiKp>rlb&nYlQhND`=ydI
zodY#yFF(O9(x)}&)JZoh1|7Bg-YymbK@GECBz#zOvYlyRf}8w}mYUnSTBl#8=QHHg
OG^I8+WvePOSOWn4T4T!q

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCount_LoopIterationCount.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCount_LoopIterationCount.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b71213d94286ac9d3bc5f69abad09e809000e962
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6?0NB`=jP3{GiMwQ9Qgk~etx|D|NHh0
z4Gq7){(f`x&HefJFI8UJHC+vewoX!B*CoHSNoroD*vt~)e}CTt(cjPKf#}ck#lP=1
z15JYf#h)yUAeIh@0NKgF8l#}lmlA2G#xV2j;VBokPU>&&n^fXy{Mn@ETJ|JOG4+0_
z<V@#4joHgju#5C*%{g__&5A)s?Y_5*g+Nfl>=y|i7M*NoTA1J_f1{=5cCOaxm+AQo
PIW<kGjZN9AiVW5Or|@P7

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_ExplicitDescription.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_ExplicitDescription.gif
new file mode 100644
index 0000000000000000000000000000000000000000..063a8534d3e95cf65b984bb4bbc2714b1433fc7c
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?84F?<?9RB~0pC51k|Gs@g
zL&NXiU*EhrdjJ0XOP4BlO;-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-#m1hiw+

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_explicitDescription_RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b2d814f92e6714ec4830c22115f64fb7a9f2d9d
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@w%Pu)MIQ;(~KR@37|9$(0
zhKAq2zrJ~M^#1+%mo8QAnyv;!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#-?mlMFwjCSt?{j

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_characterization_Characterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_characterization_Characterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ae50bcb82ce0e976e09ab2201d7d61a4f7f5af2a
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6G_AQ7+;hybc#TeE+yDRZ^W*LR-?wjQ
zX!!c$_t6_~=I_5>x$M%e>1sf<b&~SBF8QTRQu8XsW|j#5`}-b<{(e3WM1P(y{(ZL@
zXc`14{$ybUv2;KL$W8{<7zKsClt?=@hM8v%Pr0ylQh#&bq!Lf#&n7+BvL|VZsrO4I
zXF3OJ%wB$iU8GNI&Z(1bRt!37_q|;#1cDl7zexD7=wv(7!UQ+@8!a`rbG1&tOwVV?
PscA}WY|2(uWUvMRi5O!k

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_explicitDescription_ExplicitDescription.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRelationship_explicitDescription_ExplicitDescription.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c0805c47e8f1d91341ea911d3911dfd5a6d5855b
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?84F?<?9RB~0pC51k|Gs@g
zL&Mh}zmMK{Gk^d6%4L^!O;-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!n$K|

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..064dd753f37e2cb898d8ce99bbaf2b968d7d6529
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?18XSP&|Nr>;@%I1k+cz{c
zK*WKJnZ{|mrmF$b)=A3iy5yHONzJPin^_|K@9%pc`uq7j5dC?+`1jprplJ}G_>+YZ
z#L@u~AUhdYV-ytnQX=it7-pV5JmtdHN&U@zlS({|Kb!Pi%buhurrs}=oar2>F?;z5
zc9A}<Ij2s#SuyCS-S>8}5D03R{UYJRqLb}R3lrSrZ?x3h&eb~oGCiLmr=}^ju_;?s
Hk--`O<uqWJ

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResourceDemand_explicitDescription_RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResourceDemand_explicitDescription_RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12d45aab7d83c0303e1a239db655e80d4a3872e2
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@w%Pu)MIQ;(~KR@37|9$(0
zhK6fR*Nz1rTVuJVO{Z<wbTuH_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_SGFSruLYZM1

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResponseTime_explicitDescription_RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateResponseTime_explicitDescription_RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fcfec345ba6a1d1598e5ae691736c4a5740a9df1
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU@w%Pu)MIQ;(~KR@37|9$(0
zhK4oQntF}}7q795Y}45_T@8q~PEuaiCBL*uYF?$-%o5>$f8PVq-_PfP=+E=Tzwb5!
zO@jc%pDc_ZmJWyj*~!2fqoB~25^1N#F!Su;DHpa*>Tm9wRN`s;*`()M_9RU)^?s@3
zOy@w2*~?F`i}Y#DId#&_ia|&1zPF2oKv2W%7YQF0oor`XnBXRVqow9{uGZ<7>G=#f
OHBG6FP1&l74Aua?YhX_R

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ShadowParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ShadowParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e050d2d87343dbe95b13b8aec73571759a357b8b
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6{P_C&#?d$X=igsedFlWE`1$en|L@y3
zG&H<;vFGN^o-=3C4jgdUHC+vewoX!B*CoHSNoroD*vt~)e}CTt(cjPKf#}ck#lP=1
z15JYf#h)yUAeIh@0NKgF8l#}lmlA2G#xV2j;VBokPU>&&n^fXy{Mn@ETJ|JOG4+0_
z<V@#4joHgju#5C*%{g__&5A)s?Y_5*g+Nfl>=y|i7M*NoTA1J_f1{=5cCOaxm+AQo
PIW<kGjZN9AiVW5OgcN0^

literal 0
HcmV?d00001

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

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCount.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCount.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgt|Nnblyy&@kGwsY7
zhXV%`f3h$#FmN*HfOLY)U|`WRIO(~1uf^*x-&FV?7P@XXWxbV>;I&}kR~x;L)6}k-
WmG`XF<kwx!*y(m;qL45ngEas;0Wp#Q

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b1f8afa47661703c49bd5fa535dcb1342deb6fc4
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH+*?9DqRa
zCkrD311EzHNGHe)1{OVolb);hTD<=9O@;qqq3d>2)>|nFUJDj}wbA=HP3@{#dCy8s
Se%<Aaoo+`a3JEhZSOWl>_b*-m

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8747474012f8278002a9785026a1a40155b192
GIT binary patch
literal 129
zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;-#<C!xR
zf3h$#FmN*HfOLY)U|`WRIO(~1uf^*x-&FV?7P@XXWxbV>;I&}kR~x;L)6}k-mG`XF
S<kwx!*y(m;qL45ngEauhFE9fD

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ShadowParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ShadowParameter.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.applicationlevel.edit/plugin.properties b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
index bd23a016..e148a95d 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
@@ -473,3 +473,43 @@ _UI_PrimitiveDataType_DOUBLE_literal = DOUBLE
 _UI_PrimitiveDataType_CHAR_literal = CHAR
 _UI_PrimitiveDataType_BYTE_literal = BYTE
 _UI_PrimitiveDataType_LONG_literal = LONG
+_UI_Scope_scope_feature = Scope
+_UI_ServiceInputParameter_providingRole_feature = Providing Role
+_UI_ResourceTypeRepository_type = Resource Type Repository
+_UI_ResourceType_type = Resource Type
+_UI_ProcessingResourceType_type = Processing Resource Type
+_UI_CommunicationLinkResourceType_type = Communication Link Resource Type
+_UI_PassiveResourceType_type = Passive Resource Type
+_UI_BoxedPDF_samples_feature = Samples
+_UI_Relationship_characterization_feature = Characterization
+_UI_ResourceDemand_resourceType_feature = Resource Type
+_UI_ResourceTypeRepository_resourceTypes_feature = Resource Types
+_UI_ResourceType_parentResourceRepository_feature = Parent Resource Repository
+_UI_ExplicitDescription_type = Explicit Description
+_UI_ShadowParameter_type = Shadow Parameter
+_UI_LoopIterationCount_type = Loop Iteration Count
+_UI_ExplicitDescription_specification_feature = Specification
+_UI_ExplicitDescription_expression_feature = Expression
+_UI_ModelVariable_characterization_feature = Characterization
+_UI_ModelVariable_explicitDescription_feature = Explicit Description
+_UI_ShadowParameter_name_feature = Name
+_UI_ShadowParameter_description_feature = Description
+_UI_Relationship_explicitDescription_feature = Explicit Description
+_UI_DependencyRelationship_destination_feature = Destination
+_UI_DependencyRelationship_sources_feature = Sources
+_UI_CorrelationRelationship_sources_feature = Sources
+_UI_CorrelationRelationship_destination_feature = Destination
+_UI_CorrelationRelationship_destinationComponentInstanceReference_feature = Destination Component Instance Reference
+_UI_CallParameter_scopeSet_feature = Scope Set
+_UI_BranchProbabilities_branchAction_feature = Branch Action
+_UI_LoopAction_loopIterationCount_feature = Loop Iteration Count
+_UI_LoopIterationCount_loopAction_feature = Loop Action
+_UI_ExternalCallAction_externalCall_feature = External Call
+_UI_ModelVariableCharacterizationType_EMPIRICAL_literal = EMPIRICAL
+_UI_ModelVariableCharacterizationType_EXPLICIT_literal = EXPLICIT
+_UI_ControlFlowVariable_characterization_feature = Characterization
+_UI_ControlFlowVariable_explicitDescription_feature = Explicit Description
+_UI_ResourceDemand_characterization_feature = Characterization
+_UI_ResourceDemand_explicitDescription_feature = Explicit Description
+_UI_ResponseTime_characterization_feature = Characterization
+_UI_ResponseTime_explicitDescription_feature = Explicit Description
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
index ccd5c297..00eac409 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
@@ -193,52 +193,52 @@ public class BinaryBooleanExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -273,52 +273,52 @@ public class BinaryBooleanExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
index dd67e7e6..d5b9440b 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
@@ -182,52 +182,52 @@ public class ComparisonItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__LEFT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -262,52 +262,52 @@ public class ComparisonItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.COMPARISON__RIGHT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CharacterizationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitDescriptionItemProvider.java
similarity index 55%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CharacterizationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitDescriptionItemProvider.java
index 151cd9a7..c9951b69 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CharacterizationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitDescriptionItemProvider.java
@@ -1,14 +1,12 @@
 /**
  * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
  */
-package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitDescription;
 import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
-
-import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization;
-import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
-import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.RelationshipCharacterizationType;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
@@ -21,7 +19,6 @@ 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;
@@ -34,12 +31,12 @@ 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.applicationlevel.parameterdependencies.Characterization} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitDescription} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class CharacterizationItemProvider
+public class ExplicitDescriptionItemProvider
 	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
@@ -53,7 +50,7 @@ public class CharacterizationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public CharacterizationItemProvider(AdapterFactory adapterFactory) {
+	public ExplicitDescriptionItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -68,25 +65,25 @@ public class CharacterizationItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addRelationshipCharacterizationTypePropertyDescriptor(object);
+			addSpecificationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Relationship Characterization Type feature.
+	 * This adds a property descriptor for the Specification feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addRelationshipCharacterizationTypePropertyDescriptor(Object object) {
+	protected void addSpecificationPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_Characterization_relationshipCharacterizationType_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Characterization_relationshipCharacterizationType_feature", "_UI_Characterization_type"),
-				 ParameterdependenciesPackage.Literals.CHARACTERIZATION__RELATIONSHIP_CHARACTERIZATION_TYPE,
+				 getString("_UI_ExplicitDescription_specification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExplicitDescription_specification_feature", "_UI_ExplicitDescription_type"),
+				 FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__SPECIFICATION,
 				 true,
 				 false,
 				 false,
@@ -107,7 +104,7 @@ public class CharacterizationItemProvider
 	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
-			childrenFeatures.add(ParameterdependenciesPackage.Literals.CHARACTERIZATION__EXPLICIT_FUNCTION);
+			childrenFeatures.add(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION);
 		}
 		return childrenFeatures;
 	}
@@ -126,14 +123,14 @@ public class CharacterizationItemProvider
 	}
 
 	/**
-	 * This returns Characterization.gif.
+	 * This returns ExplicitDescription.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Characterization"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitDescription"));
 	}
 
 	/**
@@ -144,11 +141,10 @@ public class CharacterizationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		RelationshipCharacterizationType labelValue = ((Characterization)object).getRelationshipCharacterizationType();
-		String label = labelValue == null ? null : labelValue.toString();
+		String label = ((ExplicitDescription)object).getSpecification();
 		return label == null || label.length() == 0 ?
-			getString("_UI_Characterization_type") :
-			getString("_UI_Characterization_type") + " " + label;
+			getString("_UI_ExplicitDescription_type") :
+			getString("_UI_ExplicitDescription_type") + " " + label;
 	}
 
 	/**
@@ -162,11 +158,11 @@ public class CharacterizationItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(Characterization.class)) {
-			case ParameterdependenciesPackage.CHARACTERIZATION__RELATIONSHIP_CHARACTERIZATION_TYPE:
+		switch (notification.getFeatureID(ExplicitDescription.class)) {
+			case FunctionsPackage.EXPLICIT_DESCRIPTION__SPECIFICATION:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
-			case ParameterdependenciesPackage.CHARACTERIZATION__EXPLICIT_FUNCTION:
+			case FunctionsPackage.EXPLICIT_DESCRIPTION__EXPRESSION:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
 		}
@@ -186,8 +182,83 @@ public class CharacterizationItemProvider
 
 		newChildDescriptors.add
 			(createChildParameter
-				(ParameterdependenciesPackage.Literals.CHARACTERIZATION__EXPLICIT_FUNCTION,
-				 FunctionsFactory.eINSTANCE.createExplicitFunction()));
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.EXPLICIT_DESCRIPTION__EXPRESSION,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
index 24f4567f..d678d7df 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
@@ -189,52 +189,52 @@ public class FunctionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
index 2140b9b0..9e16a925 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
@@ -73,26 +73,26 @@ public class FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction} instances.
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitDescription} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected ExplicitFunctionItemProvider explicitFunctionItemProvider;
+	protected ExplicitDescriptionItemProvider explicitDescriptionItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction}.
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitDescription}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createExplicitFunctionAdapter() {
-		if (explicitFunctionItemProvider == null) {
-			explicitFunctionItemProvider = new ExplicitFunctionItemProvider(this);
+	public Adapter createExplicitDescriptionAdapter() {
+		if (explicitDescriptionItemProvider == null) {
+			explicitDescriptionItemProvider = new ExplicitDescriptionItemProvider(this);
 		}
 
-		return explicitFunctionItemProvider;
+		return explicitDescriptionItemProvider;
 	}
 
 	/**
@@ -371,29 +371,6 @@ public class FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory
 		return powerItemProvider;
 	}
 
-	/**
-	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EmpiricalFunction} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EmpiricalFunctionItemProvider empiricalFunctionItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EmpiricalFunction}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createEmpiricalFunctionAdapter() {
-		if (empiricalFunctionItemProvider == null) {
-			empiricalFunctionItemProvider = new EmpiricalFunctionItemProvider(this);
-		}
-
-		return empiricalFunctionItemProvider;
-	}
-
 	/**
 	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable} instances.
 	 * <!-- begin-user-doc -->
@@ -815,12 +792,9 @@ public class FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory
 	 * @generated
 	 */
 	public void dispose() {
-		if (explicitFunctionItemProvider != null) explicitFunctionItemProvider.dispose();
+		if (explicitDescriptionItemProvider != null) explicitDescriptionItemProvider.dispose();
 		if (functionItemProvider != null) functionItemProvider.dispose();
 		if (formalParameterItemProvider != null) formalParameterItemProvider.dispose();
-		if (booleanLiteralItemProvider != null) booleanLiteralItemProvider.dispose();
-		if (intLiteralItemProvider != null) intLiteralItemProvider.dispose();
-		if (doubleLiteralItemProvider != null) doubleLiteralItemProvider.dispose();
 		if (ifElseExpressionItemProvider != null) ifElseExpressionItemProvider.dispose();
 		if (binaryBooleanExpressionItemProvider != null) binaryBooleanExpressionItemProvider.dispose();
 		if (unaryBooleanExpressionItemProvider != null) unaryBooleanExpressionItemProvider.dispose();
@@ -828,8 +802,10 @@ public class FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory
 		if (termItemProvider != null) termItemProvider.dispose();
 		if (productItemProvider != null) productItemProvider.dispose();
 		if (powerItemProvider != null) powerItemProvider.dispose();
-		if (empiricalFunctionItemProvider != null) empiricalFunctionItemProvider.dispose();
 		if (randomVariableItemProvider != null) randomVariableItemProvider.dispose();
+		if (booleanLiteralItemProvider != null) booleanLiteralItemProvider.dispose();
+		if (intLiteralItemProvider != null) intLiteralItemProvider.dispose();
+		if (doubleLiteralItemProvider != null) doubleLiteralItemProvider.dispose();
 		if (probabilityMassFunctionItemProvider != null) probabilityMassFunctionItemProvider.dispose();
 		if (doubleSampleItemProvider != null) doubleSampleItemProvider.dispose();
 		if (intSampleItemProvider != null) intSampleItemProvider.dispose();
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
index 2ea8fab7..ffa10d0d 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
@@ -162,52 +162,52 @@ public class IfElseExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -242,52 +242,52 @@ public class IfElseExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -322,52 +322,52 @@ public class IfElseExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
index ff70ec26..bdc378a5 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
@@ -24,7 +24,7 @@ import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
  * @generated
  */
 public class LiteralItemProvider
-	extends AtomItemProvider
+	extends ProbabilityFunctionItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
index d080a898..578d379b 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
@@ -149,52 +149,52 @@ public class PowerItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__BASE,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -229,52 +229,52 @@ public class PowerItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.POWER__EXPONENT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
index ab3ba51e..ae72ae71 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
@@ -182,52 +182,52 @@ public class ProductItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__LEFT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -262,52 +262,52 @@ public class ProductItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.PRODUCT__RIGHT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
index cefc607c..f2ddbd23 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
@@ -182,52 +182,52 @@ public class TermItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__LEFT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
@@ -262,52 +262,52 @@ public class TermItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.TERM__RIGHT,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
index 35125743..035a8250 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
@@ -158,52 +158,52 @@ public class UnaryBooleanExpressionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+				 FunctionsFactory.eINSTANCE.createComparison()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createTerm()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+				 FunctionsFactory.eINSTANCE.createProduct()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createComparison()));
+				 FunctionsFactory.eINSTANCE.createPower()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createTerm()));
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createProduct()));
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
 				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
-				 FunctionsFactory.eINSTANCE.createPower()));
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
index 65a8345b..7e4b289c 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
@@ -5,6 +5,8 @@ package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CallParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterCharacterizationType;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
 import java.util.Collection;
@@ -13,6 +15,7 @@ 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;
@@ -162,7 +165,8 @@ public class CallParameterItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((CallParameter)object).getName();
+		ParameterCharacterizationType labelValue = ((CallParameter)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
 		return label == null || label.length() == 0 ?
 			getString("_UI_CallParameter_type") :
 			getString("_UI_CallParameter_type") + " " + label;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
index 014eacbe..68607c53 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
@@ -4,18 +4,26 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ControlFlowVariable;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
 
 /**
  * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ControlFlowVariable} object.
@@ -52,10 +60,63 @@ public class ControlFlowVariableItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addCharacterizationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * 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_ControlFlowVariable_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ControlFlowVariable_characterization_feature", "_UI_ControlFlowVariable_type"),
+				 ParameterdependenciesPackage.Literals.CONTROL_FLOW_VARIABLE__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(ParameterdependenciesPackage.Literals.CONTROL_FLOW_VARIABLE__EXPLICIT_DESCRIPTION);
+		}
+		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 the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -64,7 +125,11 @@ public class ControlFlowVariableItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ControlFlowVariable_type");
+		ModelVariableCharacterizationType labelValue = ((ControlFlowVariable)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ControlFlowVariable_type") :
+			getString("_UI_ControlFlowVariable_type") + " " + label;
 	}
 
 	/**
@@ -77,6 +142,15 @@ public class ControlFlowVariableItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(ControlFlowVariable.class)) {
+			case ParameterdependenciesPackage.CONTROL_FLOW_VARIABLE__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ParameterdependenciesPackage.CONTROL_FLOW_VARIABLE__EXPLICIT_DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -90,6 +164,11 @@ public class ControlFlowVariableItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CONTROL_FLOW_VARIABLE__EXPLICIT_DESCRIPTION,
+				 FunctionsFactory.eINSTANCE.createRandomVariable()));
 	}
 
 }
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
index bfed2a00..f10f89c8 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
@@ -8,6 +8,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Correlati
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.RelationshipCharacterizationType;
 import java.util.Collection;
 import java.util.List;
 
@@ -60,26 +61,26 @@ public class CorrelationRelationshipItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addSourceInfluencingParametersPropertyDescriptor(object);
-			addDestInfluencingParameterPropertyDescriptor(object);
+			addSourcesPropertyDescriptor(object);
+			addDestinationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Source Influencing Parameters feature.
+	 * This adds a property descriptor for the Sources feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addSourceInfluencingParametersPropertyDescriptor(Object object) {
+	protected void addSourcesPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_CorrelationRelationship_sourceInfluencingParameters_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_sourceInfluencingParameters_feature", "_UI_CorrelationRelationship_type"),
-				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCE_INFLUENCING_PARAMETERS,
+				 getString("_UI_CorrelationRelationship_sources_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_sources_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCES,
 				 true,
 				 false,
 				 true,
@@ -89,19 +90,19 @@ public class CorrelationRelationshipItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Dest Influencing Parameter feature.
+	 * This adds a property descriptor for the Destination feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addDestInfluencingParameterPropertyDescriptor(Object object) {
+	protected void addDestinationPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_CorrelationRelationship_destInfluencingParameter_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_destInfluencingParameter_feature", "_UI_CorrelationRelationship_type"),
-				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_INFLUENCING_PARAMETER,
+				 getString("_UI_CorrelationRelationship_destination_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CorrelationRelationship_destination_feature", "_UI_CorrelationRelationship_type"),
+				 ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DESTINATION,
 				 true,
 				 false,
 				 true,
@@ -123,8 +124,7 @@ public class CorrelationRelationshipItemProvider
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
 			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES);
-			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE);
-			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__CHARACTERIZATION);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DESTINATION_COMPONENT_INSTANCE_REFERENCE);
 		}
 		return childrenFeatures;
 	}
@@ -161,7 +161,11 @@ public class CorrelationRelationshipItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_CorrelationRelationship_type");
+		RelationshipCharacterizationType labelValue = ((CorrelationRelationship)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CorrelationRelationship_type") :
+			getString("_UI_CorrelationRelationship_type") + " " + label;
 	}
 
 	/**
@@ -177,10 +181,12 @@ public class CorrelationRelationshipItemProvider
 
 		switch (notification.getFeatureID(CorrelationRelationship.class)) {
 			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES:
-			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE:
-			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__CHARACTERIZATION:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__DESTINATION_COMPONENT_INSTANCE_REFERENCE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, true));
+				return;
 		}
 		super.notifyChanged(notification);
 	}
@@ -203,13 +209,8 @@ public class CorrelationRelationshipItemProvider
 
 		newChildDescriptors.add
 			(createChildParameter
-				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE,
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DESTINATION_COMPONENT_INSTANCE_REFERENCE,
 				 ParameterdependenciesFactory.eINSTANCE.createComponentInstanceReference()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__CHARACTERIZATION,
-				 ParameterdependenciesFactory.eINSTANCE.createCharacterization()));
 	}
 
 	/**
@@ -225,7 +226,7 @@ public class CorrelationRelationshipItemProvider
 
 		boolean qualify =
 			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES ||
-			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE;
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DESTINATION_COMPONENT_INSTANCE_REFERENCE;
 
 		if (qualify) {
 			return getString
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
index 2ce9b753..228f4114 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
@@ -8,6 +8,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Dependenc
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.RelationshipCharacterizationType;
 import java.util.Collection;
 import java.util.List;
 
@@ -60,26 +61,26 @@ public class DependencyRelationshipItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addInfluencedVariableReferencePropertyDescriptor(object);
-			addInfluencingParametersPropertyDescriptor(object);
+			addDestinationPropertyDescriptor(object);
+			addSourcesPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Influenced Variable Reference feature.
+	 * This adds a property descriptor for the Destination feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInfluencedVariableReferencePropertyDescriptor(Object object) {
+	protected void addDestinationPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_DependencyRelationship_influencedVariableReference_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_influencedVariableReference_feature", "_UI_DependencyRelationship_type"),
-				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__INFLUENCED_VARIABLE_REFERENCE,
+				 getString("_UI_DependencyRelationship_destination_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_destination_feature", "_UI_DependencyRelationship_type"),
+				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__DESTINATION,
 				 true,
 				 false,
 				 true,
@@ -89,19 +90,19 @@ public class DependencyRelationshipItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Influencing Parameters feature.
+	 * This adds a property descriptor for the Sources feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInfluencingParametersPropertyDescriptor(Object object) {
+	protected void addSourcesPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_DependencyRelationship_influencingParameters_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_influencingParameters_feature", "_UI_DependencyRelationship_type"),
-				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__INFLUENCING_PARAMETERS,
+				 getString("_UI_DependencyRelationship_sources_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DependencyRelationship_sources_feature", "_UI_DependencyRelationship_type"),
+				 ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__SOURCES,
 				 true,
 				 false,
 				 true,
@@ -110,36 +111,6 @@ public class DependencyRelationshipItemProvider
 				 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(ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__CHARACTERIZATION);
-		}
-		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 DependencyRelationship.gif.
 	 * <!-- begin-user-doc -->
@@ -159,7 +130,11 @@ public class DependencyRelationshipItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_DependencyRelationship_type");
+		RelationshipCharacterizationType labelValue = ((DependencyRelationship)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DependencyRelationship_type") :
+			getString("_UI_DependencyRelationship_type") + " " + label;
 	}
 
 	/**
@@ -175,7 +150,7 @@ public class DependencyRelationshipItemProvider
 
 		switch (notification.getFeatureID(DependencyRelationship.class)) {
 			case ParameterdependenciesPackage.DEPENDENCY_RELATIONSHIP__CHARACTERIZATION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, true));
 				return;
 		}
 		super.notifyChanged(notification);
@@ -191,11 +166,6 @@ public class DependencyRelationshipItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add
-			(createChildParameter
-				(ParameterdependenciesPackage.Literals.DEPENDENCY_RELATIONSHIP__CHARACTERIZATION,
-				 ParameterdependenciesFactory.eINSTANCE.createCharacterization()));
 	}
 
 }
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
index f13a3224..4f8c2cf1 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
@@ -5,6 +5,7 @@ package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
 import java.util.Collection;
@@ -102,7 +103,8 @@ public class ExternalCallParameterItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ExternalCallParameter)object).getName();
+		ParameterCharacterizationType labelValue = ((ExternalCallParameter)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
 		return label == null || label.length() == 0 ?
 			getString("_UI_ExternalCallParameter_type") :
 			getString("_UI_ExternalCallParameter_type") + " " + label;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
index fa4df0c8..a8af9d28 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
@@ -5,6 +5,7 @@ package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
 import java.util.Collection;
@@ -102,7 +103,8 @@ public class ExternalCallReturnParameterItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ExternalCallReturnParameter)object).getName();
+		ParameterCharacterizationType labelValue = ((ExternalCallReturnParameter)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
 		return label == null || label.length() == 0 ?
 			getString("_UI_ExternalCallReturnParameter_type") :
 			getString("_UI_ExternalCallReturnParameter_type") + " " + label;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
index 7cf56ef0..4e3f19fc 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
@@ -7,12 +7,14 @@ package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 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;
@@ -21,6 +23,7 @@ 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;
 
 /**
@@ -59,8 +62,6 @@ public class InfluencingParameterItemProvider
 			super.getPropertyDescriptors(object);
 
 			addBehaviorPropertyDescriptor(object);
-			addNamePropertyDescriptor(object);
-			addDescriptionPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -87,50 +88,6 @@ public class InfluencingParameterItemProvider
 				 null));
 	}
 
-	/**
-	 * 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_InfluencingParameter_name_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_name_feature", "_UI_InfluencingParameter_type"),
-				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__NAME,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Description feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDescriptionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_InfluencingParameter_description_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_description_feature", "_UI_InfluencingParameter_type"),
-				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__DESCRIPTION,
-				 true,
-				 false,
-				 false,
-				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
-				 null,
-				 null));
-	}
-
 	/**
 	 * This returns InfluencingParameter.gif.
 	 * <!-- begin-user-doc -->
@@ -150,10 +107,7 @@ public class InfluencingParameterItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((InfluencingParameter)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_InfluencingParameter_type") :
-			getString("_UI_InfluencingParameter_type") + " " + label;
+		return getString("_UI_InfluencingParameter_type");
 	}
 
 	/**
@@ -166,13 +120,6 @@ public class InfluencingParameterItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
-
-		switch (notification.getFeatureID(InfluencingParameter.class)) {
-			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__NAME:
-			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__DESCRIPTION:
-				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-				return;
-		}
 		super.notifyChanged(notification);
 	}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
index 6f8bfbf3..e2e9cfca 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
@@ -4,7 +4,9 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariable;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
@@ -20,12 +22,14 @@ 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.ItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
index c11fe66c..357dd7b8 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
@@ -96,26 +96,26 @@ public class ParameterdependenciesItemProviderAdapterFactory extends Parameterde
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter} instances.
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ShadowParameter} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected InfluencingParameterItemProvider influencingParameterItemProvider;
+	protected ShadowParameterItemProvider shadowParameterItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter}.
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ShadowParameter}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createInfluencingParameterAdapter() {
-		if (influencingParameterItemProvider == null) {
-			influencingParameterItemProvider = new InfluencingParameterItemProvider(this);
+	public Adapter createShadowParameterAdapter() {
+		if (shadowParameterItemProvider == null) {
+			shadowParameterItemProvider = new ShadowParameterItemProvider(this);
 		}
 
-		return influencingParameterItemProvider;
+		return shadowParameterItemProvider;
 	}
 
 	/**
@@ -211,26 +211,26 @@ public class ParameterdependenciesItemProviderAdapterFactory extends Parameterde
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization} instances.
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected CharacterizationItemProvider characterizationItemProvider;
+	protected ScopeItemProvider scopeItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization}.
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createCharacterizationAdapter() {
-		if (characterizationItemProvider == null) {
-			characterizationItemProvider = new CharacterizationItemProvider(this);
+	public Adapter createScopeAdapter() {
+		if (scopeItemProvider == null) {
+			scopeItemProvider = new ScopeItemProvider(this);
 		}
 
-		return characterizationItemProvider;
+		return scopeItemProvider;
 	}
 
 	/**
@@ -401,13 +401,13 @@ public class ParameterdependenciesItemProviderAdapterFactory extends Parameterde
 	 * @generated
 	 */
 	public void dispose() {
+		if (scopeSetItemProvider != null) scopeSetItemProvider.dispose();
+		if (scopeItemProvider != null) scopeItemProvider.dispose();
 		if (influencedVariableReferenceItemProvider != null) influencedVariableReferenceItemProvider.dispose();
-		if (influencingParameterItemProvider != null) influencingParameterItemProvider.dispose();
+		if (shadowParameterItemProvider != null) shadowParameterItemProvider.dispose();
 		if (dependencyRelationshipItemProvider != null) dependencyRelationshipItemProvider.dispose();
 		if (correlationRelationshipItemProvider != null) correlationRelationshipItemProvider.dispose();
 		if (componentInstanceReferenceItemProvider != null) componentInstanceReferenceItemProvider.dispose();
-		if (scopeSetItemProvider != null) scopeSetItemProvider.dispose();
-		if (characterizationItemProvider != null) characterizationItemProvider.dispose();
 		if (serviceInputParameterItemProvider != null) serviceInputParameterItemProvider.dispose();
 		if (externalCallReturnParameterItemProvider != null) externalCallReturnParameterItemProvider.dispose();
 		if (externalCallParameterItemProvider != null) externalCallParameterItemProvider.dispose();
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
index 2567ac0d..92aa70b8 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
@@ -4,8 +4,12 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Relationship;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.RelationshipCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
 import java.util.Collection;
@@ -16,6 +20,7 @@ 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;
@@ -24,6 +29,7 @@ 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.applicationlevel.parameterdependencies.Relationship} object.
@@ -87,6 +93,37 @@ public class RelationshipItemProvider
 				 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(ParameterdependenciesPackage.Literals.RELATIONSHIP__CHARACTERIZATION);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.RELATIONSHIP__EXPLICIT_DESCRIPTION);
+		}
+		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 the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -95,7 +132,11 @@ public class RelationshipItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_Relationship_type");
+		RelationshipCharacterizationType labelValue = ((Relationship)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Relationship_type") :
+			getString("_UI_Relationship_type") + " " + label;
 	}
 
 	/**
@@ -108,6 +149,15 @@ public class RelationshipItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(Relationship.class)) {
+			case ParameterdependenciesPackage.RELATIONSHIP__EXPLICIT_DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+			case ParameterdependenciesPackage.RELATIONSHIP__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, true));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -121,6 +171,16 @@ public class RelationshipItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.RELATIONSHIP__CHARACTERIZATION,
+				 RelationshipCharacterizationType.EMPIRICAL));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.RELATIONSHIP__EXPLICIT_DESCRIPTION,
+				 FunctionsFactory.eINSTANCE.createExplicitDescription()));
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
new file mode 100644
index 00000000..cca13c26
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+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.ItemProviderAdapter;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Scope} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ScopeItemProvider
+	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 ScopeItemProvider(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);
+
+			addScopePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Scope feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addScopePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Scope_scope_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Scope_scope_feature", "_UI_Scope_type"),
+				 ParameterdependenciesPackage.Literals.SCOPE__SCOPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Scope.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Scope"));
+	}
+
+	/**
+	 * 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_Scope_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);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
index 9bc1e23e..59274c0b 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
@@ -4,6 +4,7 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter;
 
@@ -56,25 +57,25 @@ public class ServiceInputParameterItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addInterfaceProvidingRolePropertyDescriptor(object);
+			addProvidingRolePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Interface Providing Role feature.
+	 * This adds a property descriptor for the Providing Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInterfaceProvidingRolePropertyDescriptor(Object object) {
+	protected void addProvidingRolePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_ServiceInputParameter_interfaceProvidingRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceInputParameter_interfaceProvidingRole_feature", "_UI_ServiceInputParameter_type"),
-				 ParameterdependenciesPackage.Literals.SERVICE_INPUT_PARAMETER__INTERFACE_PROVIDING_ROLE,
+				 getString("_UI_ServiceInputParameter_providingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceInputParameter_providingRole_feature", "_UI_ServiceInputParameter_type"),
+				 ParameterdependenciesPackage.Literals.SERVICE_INPUT_PARAMETER__PROVIDING_ROLE,
 				 true,
 				 false,
 				 true,
@@ -102,7 +103,8 @@ public class ServiceInputParameterItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ServiceInputParameter)object).getName();
+		ParameterCharacterizationType labelValue = ((ServiceInputParameter)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
 		return label == null || label.length() == 0 ?
 			getString("_UI_ServiceInputParameter_type") :
 			getString("_UI_ServiceInputParameter_type") + " " + label;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ShadowParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ShadowParameterItemProvider.java
new file mode 100644
index 00000000..b070a6d6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ShadowParameterItemProvider.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ShadowParameter;
+
+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.applicationlevel.parameterdependencies.ShadowParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ShadowParameterItemProvider
+	extends InfluencingParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ShadowParameterItemProvider(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);
+			addDescriptionPropertyDescriptor(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_ShadowParameter_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ShadowParameter_name_feature", "_UI_ShadowParameter_type"),
+				 ParameterdependenciesPackage.Literals.SHADOW_PARAMETER__NAME,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ShadowParameter_description_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ShadowParameter_description_feature", "_UI_ShadowParameter_type"),
+				 ParameterdependenciesPackage.Literals.SHADOW_PARAMETER__DESCRIPTION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ShadowParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ShadowParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ShadowParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ShadowParameter_type") :
+			getString("_UI_ShadowParameter_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(ShadowParameter.class)) {
+			case ParameterdependenciesPackage.SHADOW_PARAMETER__NAME:
+			case ParameterdependenciesPackage.SHADOW_PARAMETER__DESCRIPTION:
+				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.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
index 5613ed11..4400eded 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
@@ -7,6 +7,7 @@ import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
 
 import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
 
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
 import org.eclipse.emf.common.EMFPlugin;
 
 import org.eclipse.emf.common.util.ResourceLocator;
@@ -45,6 +46,7 @@ public final class ApplicationlevelEditPlugin extends EMFPlugin {
 		  (new ResourceLocator [] {
 		     CoreEditPlugin.INSTANCE,
 		     IdentifierEditPlugin.INSTANCE,
+		     ResourcelandscapeEditPlugin.INSTANCE,
 		   });
 	}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
similarity index 64%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
index f17332f5..2ce49301 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
@@ -1,14 +1,16 @@
 /**
  * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
  */
-package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
-import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction;
-import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
 import java.util.Collection;
 import java.util.List;
 
@@ -25,17 +27,16 @@ 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.applicationlevel.functions.ExplicitFunction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ExplicitFunctionItemProvider
-	extends ItemProviderAdapter
+public class PrimitiveDataTypeItemProvider
+	extends EntityItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -48,7 +49,7 @@ public class ExplicitFunctionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ExplicitFunctionItemProvider(AdapterFactory adapterFactory) {
+	public PrimitiveDataTypeItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -63,26 +64,25 @@ public class ExplicitFunctionItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addSpecificationPropertyDescriptor(object);
-			addExpressionPropertyDescriptor(object);
+			addTypePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Specification feature.
+	 * This adds a property descriptor for the Type feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addSpecificationPropertyDescriptor(Object object) {
+	protected void addTypePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_ExplicitFunction_specification_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ExplicitFunction_specification_feature", "_UI_ExplicitFunction_type"),
-				 FunctionsPackage.Literals.EXPLICIT_FUNCTION__SPECIFICATION,
+				 getString("_UI_PrimitiveDataType_type_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_PrimitiveDataType_type_feature", "_UI_PrimitiveDataType_type"),
+				 RepositoryPackage.Literals.PRIMITIVE_DATA_TYPE__TYPE,
 				 true,
 				 false,
 				 false,
@@ -92,36 +92,14 @@ public class ExplicitFunctionItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Expression feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addExpressionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_ExplicitFunction_expression_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ExplicitFunction_expression_feature", "_UI_ExplicitFunction_type"),
-				 FunctionsPackage.Literals.EXPLICIT_FUNCTION__EXPRESSION,
-				 false,
-				 false,
-				 false,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns ExplicitFunction.gif.
+	 * This returns PrimitiveDataType.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitFunction"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/PrimitiveDataType"));
 	}
 
 	/**
@@ -132,10 +110,10 @@ public class ExplicitFunctionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ExplicitFunction)object).getSpecification();
+		String label = ((PrimitiveDataType)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_ExplicitFunction_type") :
-			getString("_UI_ExplicitFunction_type") + " " + label;
+			getString("_UI_PrimitiveDataType_type") :
+			getString("_UI_PrimitiveDataType_type") + " " + label;
 	}
 
 	/**
@@ -149,8 +127,8 @@ public class ExplicitFunctionItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(ExplicitFunction.class)) {
-			case FunctionsPackage.EXPLICIT_FUNCTION__SPECIFICATION:
+		switch (notification.getFeatureID(PrimitiveDataType.class)) {
+			case RepositoryPackage.PRIMITIVE_DATA_TYPE__TYPE:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 				return;
 		}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
index a7d811fc..a103aaa1 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
@@ -175,6 +175,11 @@ public class RepositoryItemProvider
 				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
 				 RepositoryFactory.eINSTANCE.createCompositeDataType()));
 
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createPrimitiveDataType()));
+
 		newChildDescriptors.add
 			(createChildParameter
 				(RepositoryPackage.Literals.REPOSITORY__INTERFACES,
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
index b56c2cee..9a56b68c 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
@@ -440,6 +440,29 @@ public class RepositoryItemProviderAdapterFactory extends RepositoryAdapterFacto
 		return innerDeclarationItemProvider;
 	}
 
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PrimitiveDataTypeItemProvider primitiveDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.PrimitiveDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPrimitiveDataTypeAdapter() {
+		if (primitiveDataTypeItemProvider == null) {
+			primitiveDataTypeItemProvider = new PrimitiveDataTypeItemProvider(this);
+		}
+
+		return primitiveDataTypeItemProvider;
+	}
+
 	/**
 	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidingDelegationConnector} instances.
 	 * <!-- begin-user-doc -->
@@ -598,9 +621,10 @@ public class RepositoryItemProviderAdapterFactory extends RepositoryAdapterFacto
 		if (subSystemItemProvider != null) subSystemItemProvider.dispose();
 		if (collectionDataTypeItemProvider != null) collectionDataTypeItemProvider.dispose();
 		if (compositeDataTypeItemProvider != null) compositeDataTypeItemProvider.dispose();
+		if (innerDeclarationItemProvider != null) innerDeclarationItemProvider.dispose();
+		if (primitiveDataTypeItemProvider != null) primitiveDataTypeItemProvider.dispose();
 		if (assemblyContextItemProvider != null) assemblyContextItemProvider.dispose();
 		if (assemblyConnectorItemProvider != null) assemblyConnectorItemProvider.dispose();
-		if (innerDeclarationItemProvider != null) innerDeclarationItemProvider.dispose();
 		if (providingDelegationConnectorItemProvider != null) providingDelegationConnectorItemProvider.dispose();
 		if (requiringDelegationConnectorItemProvider != null) requiringDelegationConnectorItemProvider.dispose();
 	}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
index e2ee9efb..876abf2b 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
@@ -4,10 +4,12 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowVariableItemProvider;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities;
 import java.util.Collection;
 import java.util.List;
 
@@ -81,7 +83,11 @@ public class BranchProbabilitiesItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_BranchProbabilities_type");
+		ModelVariableCharacterizationType labelValue = ((BranchProbabilities)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BranchProbabilities_type") :
+			getString("_UI_BranchProbabilities_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
index 87e2b00a..22ab860c 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
@@ -4,10 +4,12 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowVariableItemProvider;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency;
 import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
 
 import java.util.Collection;
@@ -61,33 +63,10 @@ public class CallFrequencyItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addFrequencyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
-	/**
-	 * This adds a property descriptor for the Frequency feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addFrequencyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_CallFrequency_frequency_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_CallFrequency_frequency_feature", "_UI_CallFrequency_type"),
-				 ServicebehaviorPackage.Literals.CALL_FREQUENCY__FREQUENCY,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
 	/**
 	 * This returns CallFrequency.gif.
 	 * <!-- begin-user-doc -->
@@ -107,7 +86,11 @@ public class CallFrequencyItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_CallFrequency_type");
+		ModelVariableCharacterizationType labelValue = ((CallFrequency)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CallFrequency_type") :
+			getString("_UI_CallFrequency_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
index d25fcb3c..33798b72 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
@@ -4,6 +4,8 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
 import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
 
 import java.util.Collection;
@@ -12,6 +14,7 @@ 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;
@@ -19,6 +22,7 @@ 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.applicationlevel.servicebehavior.ExternalCallAction} object.
@@ -55,54 +59,38 @@ public class ExternalCallActionItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addSignaturePropertyDescriptor(object);
-			addInterfaceRequiringRolePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Signature feature.
+	 * 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
 	 */
-	protected void addSignaturePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_ExternalCall_signature_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_signature_feature", "_UI_ExternalCall_type"),
-				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__SIGNATURE,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.EXTERNAL_CALL_ACTION__EXTERNAL_CALL);
+		}
+		return childrenFeatures;
 	}
 
 	/**
-	 * This adds a property descriptor for the Interface Requiring Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInterfaceRequiringRolePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_ExternalCall_interfaceRequiringRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCall_interfaceRequiringRole_feature", "_UI_ExternalCall_type"),
-				 ServicebehaviorPackage.Literals.EXTERNAL_CALL__INTERFACE_REQUIRING_ROLE,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
+	@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);
 	}
 
 	/**
@@ -137,6 +125,12 @@ public class ExternalCallActionItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(ExternalCallAction.class)) {
+			case ServicebehaviorPackage.EXTERNAL_CALL_ACTION__EXTERNAL_CALL:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -150,6 +144,11 @@ public class ExternalCallActionItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_ACTION__EXTERNAL_CALL,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCall()));
 	}
 
 }
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
index 45be11a4..64cbb547 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
@@ -152,11 +152,6 @@ public class ExternalCallFrequencyItemProvider
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
 
-		newChildDescriptors.add
-			(createChildParameter
-				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
-				 ServicebehaviorFactory.eINSTANCE.createExternalCallAction()));
-
 		newChildDescriptors.add
 			(createChildParameter
 				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
index 1054f3bb..2e262464 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
@@ -76,7 +76,7 @@ public class LoopActionItemProvider
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
 			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_BODY_BEHAVIOR);
-			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT);
 		}
 		return childrenFeatures;
 	}
@@ -129,7 +129,7 @@ public class LoopActionItemProvider
 
 		switch (notification.getFeatureID(LoopAction.class)) {
 			case ServicebehaviorPackage.LOOP_ACTION__LOOP_BODY_BEHAVIOR:
-			case ServicebehaviorPackage.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION:
+			case ServicebehaviorPackage.LOOP_ACTION__LOOP_ITERATION_COUNT:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
 		}
@@ -154,8 +154,8 @@ public class LoopActionItemProvider
 
 		newChildDescriptors.add
 			(createChildParameter
-				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
-				 ServicebehaviorFactory.eINSTANCE.createLoopIterationCountDistribution()));
+				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT,
+				 ServicebehaviorFactory.eINSTANCE.createLoopIterationCount()));
 	}
 
 }
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountItemProvider.java
new file mode 100644
index 00000000..6e9663b0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ControlFlowVariableItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCount;
+
+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.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.applicationlevel.servicebehavior.LoopIterationCount} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopIterationCountItemProvider
+	extends ControlFlowVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopIterationCountItemProvider(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 returns LoopIterationCount.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopIterationCount"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ModelVariableCharacterizationType labelValue = ((LoopIterationCount)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_LoopIterationCount_type") :
+			getString("_UI_LoopIterationCount_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);
+		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 ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
index dea37c54..16bd5c20 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
@@ -4,10 +4,14 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemand;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
 import java.util.Collection;
 import java.util.List;
 
@@ -16,12 +20,16 @@ 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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
 
 /**
  * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemand} object.
@@ -58,10 +66,86 @@ public class ResourceDemandItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addResourceTypePropertyDescriptor(object);
+			addCharacterizationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * This adds a property descriptor for the Resource Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addResourceTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ResourceDemand_resourceType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ResourceDemand_resourceType_feature", "_UI_ResourceDemand_type"),
+				 ServicebehaviorPackage.Literals.RESOURCE_DEMAND__RESOURCE_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 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_ResourceDemand_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ResourceDemand_characterization_feature", "_UI_ResourceDemand_type"),
+				 ServicebehaviorPackage.Literals.RESOURCE_DEMAND__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(ServicebehaviorPackage.Literals.RESOURCE_DEMAND__EXPLICIT_DESCRIPTION);
+		}
+		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 ResourceDemand.gif.
 	 * <!-- begin-user-doc -->
@@ -81,7 +165,11 @@ public class ResourceDemandItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ResourceDemand_type");
+		ModelVariableCharacterizationType labelValue = ((ResourceDemand)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ResourceDemand_type") :
+			getString("_UI_ResourceDemand_type") + " " + label;
 	}
 
 	/**
@@ -94,6 +182,15 @@ public class ResourceDemandItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(ResourceDemand.class)) {
+			case ServicebehaviorPackage.RESOURCE_DEMAND__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ServicebehaviorPackage.RESOURCE_DEMAND__EXPLICIT_DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -107,6 +204,11 @@ public class ResourceDemandItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.RESOURCE_DEMAND__EXPLICIT_DESCRIPTION,
+				 FunctionsFactory.eINSTANCE.createRandomVariable()));
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
index 247e0ea2..3020509e 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
@@ -4,10 +4,14 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariableCharacterizationType;
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTime;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
 import java.util.Collection;
 import java.util.List;
 
@@ -16,12 +20,16 @@ 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.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
 
 /**
  * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTime} object.
@@ -58,10 +66,63 @@ public class ResponseTimeItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addCharacterizationPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * 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_ResponseTime_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ResponseTime_characterization_feature", "_UI_ResponseTime_type"),
+				 ServicebehaviorPackage.Literals.RESPONSE_TIME__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 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(ServicebehaviorPackage.Literals.RESPONSE_TIME__EXPLICIT_DESCRIPTION);
+		}
+		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 ResponseTime.gif.
 	 * <!-- begin-user-doc -->
@@ -81,7 +142,11 @@ public class ResponseTimeItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ResponseTime_type");
+		ModelVariableCharacterizationType labelValue = ((ResponseTime)object).getCharacterization();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ResponseTime_type") :
+			getString("_UI_ResponseTime_type") + " " + label;
 	}
 
 	/**
@@ -94,6 +159,15 @@ public class ResponseTimeItemProvider
 	@Override
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
+
+		switch (notification.getFeatureID(ResponseTime.class)) {
+			case ServicebehaviorPackage.RESPONSE_TIME__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ServicebehaviorPackage.RESPONSE_TIME__EXPLICIT_DESCRIPTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
 		super.notifyChanged(notification);
 	}
 
@@ -107,6 +181,11 @@ public class ResponseTimeItemProvider
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.RESPONSE_TIME__EXPLICIT_DESCRIPTION,
+				 FunctionsFactory.eINSTANCE.createRandomVariable()));
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
index 8d76123e..5c15d798 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
@@ -192,7 +192,7 @@ public class ServiceBehaviorAbstractionItemProvider
 		newChildDescriptors.add
 			(createChildParameter
 				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
-				 ParameterdependenciesFactory.eINSTANCE.createInfluencingParameter()));
+				 ParameterdependenciesFactory.eINSTANCE.createShadowParameter()));
 
 		newChildDescriptors.add
 			(createChildParameter
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
index 0bd351c4..9a6b34a3 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
@@ -280,26 +280,26 @@ public class ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAd
 	}
 
 	/**
-	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution} instances.
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCount} instances.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected LoopIterationCountDistributionItemProvider loopIterationCountDistributionItemProvider;
+	protected LoopIterationCountItemProvider loopIterationCountItemProvider;
 
 	/**
-	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution}.
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCount}.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
-	public Adapter createLoopIterationCountDistributionAdapter() {
-		if (loopIterationCountDistributionItemProvider == null) {
-			loopIterationCountDistributionItemProvider = new LoopIterationCountDistributionItemProvider(this);
+	public Adapter createLoopIterationCountAdapter() {
+		if (loopIterationCountItemProvider == null) {
+			loopIterationCountItemProvider = new LoopIterationCountItemProvider(this);
 		}
 
-		return loopIterationCountDistributionItemProvider;
+		return loopIterationCountItemProvider;
 	}
 
 	/**
@@ -594,7 +594,7 @@ public class ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAd
 		if (branchActionItemProvider != null) branchActionItemProvider.dispose();
 		if (branchProbabilitiesItemProvider != null) branchProbabilitiesItemProvider.dispose();
 		if (loopActionItemProvider != null) loopActionItemProvider.dispose();
-		if (loopIterationCountDistributionItemProvider != null) loopIterationCountDistributionItemProvider.dispose();
+		if (loopIterationCountItemProvider != null) loopIterationCountItemProvider.dispose();
 		if (externalCallActionItemProvider != null) externalCallActionItemProvider.dispose();
 		if (externalCallItemProvider != null) externalCallItemProvider.dispose();
 		if (resourceDemandItemProvider != null) resourceDemandItemProvider.dispose();
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.applicationlevel.editor/META-INF/MANIFEST.MF
index f5dea54b..913f285c 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/META-INF/MANIFEST.MF
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/META-INF/MANIFEST.MF
@@ -21,5 +21,6 @@ Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.edit.ui;visibility:=reexport,
  org.eclipse.ui.ide;visibility:=reexport,
  edu.kit.ipd.descartes.core.edit;visibility:=reexport,
- edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape.edit;visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.properties b/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.properties
index fea39203..32baa901 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.properties
@@ -87,3 +87,9 @@ _UI_Wizard_initial_object_description = Select a model object to create
 _UI_FileConflict_label = File Conflict
 _WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?
 
+_UI_ResourcetypeEditor_menu = &Resourcetype Editor
+_UI_ResourcetypeModelWizard_label = Resourcetype Model
+_UI_ResourcetypeModelWizard_description = Create a new Resourcetype model
+_UI_ResourcetypeEditor_label = Resourcetype Model Editor
+_UI_ResourcetypeEditorFilenameDefaultBase = My
+_UI_ResourcetypeEditorFilenameExtensions = resourcetype
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.xml b/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.xml
index 09fc7870..deb93fff 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.xml
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/plugin.xml
@@ -33,6 +33,35 @@
       </editor>
    </extension>
 
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated applicationlevel -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.presentation.ParameterdependenciesModelWizardID"
+            name="%_UI_ParameterdependenciesModelWizard_label"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.presentation.ParameterdependenciesModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/ParameterdependenciesModelFile.gif">
+         <description>%_UI_ParameterdependenciesModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
    <extension point="org.eclipse.ui.newWizards">
       <category
             id="org.eclipse.emf.ecore.Wizard.category.ID"
@@ -59,6 +88,35 @@
       </editor>
    </extension>
 
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated applicationlevel -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="edu.kit.ipd.descartes.mm.applicationlevel.repository.presentation.RepositoryModelWizardID"
+            name="%_UI_RepositoryModelWizard_label"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.repository.presentation.RepositoryModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/RepositoryModelFile.gif">
+         <description>%_UI_RepositoryModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
    <extension point="org.eclipse.ui.newWizards">
       <category
             id="org.eclipse.emf.ecore.Wizard.category.ID"
@@ -85,6 +143,35 @@
       </editor>
    </extension>
 
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated applicationlevel -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.presentation.ServicebehaviorModelWizardID"
+            name="%_UI_ServicebehaviorModelWizard_label"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.presentation.ServicebehaviorModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/ServicebehaviorModelFile.gif">
+         <description>%_UI_ServicebehaviorModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
    <extension point="org.eclipse.ui.newWizards">
       <category
             id="org.eclipse.emf.ecore.Wizard.category.ID"
@@ -111,6 +198,35 @@
       </editor>
    </extension>
 
+   <extension point="org.eclipse.ui.newWizards">
+      <!-- @generated applicationlevel -->
+      <category
+            id="org.eclipse.emf.ecore.Wizard.category.ID"
+            name="%_UI_Wizard_category"/>
+      <wizard
+            id="edu.kit.ipd.descartes.mm.applicationlevel.system.presentation.SystemModelWizardID"
+            name="%_UI_SystemModelWizard_label"
+            class="edu.kit.ipd.descartes.mm.applicationlevel.system.presentation.SystemModelWizard"
+            category="org.eclipse.emf.ecore.Wizard.category.ID"
+            icon="icons/full/obj16/SystemModelFile.gif">
+         <description>%_UI_SystemModelWizard_description</description>
+         <selection class="org.eclipse.core.resources.IResource"/>
+      </wizard>
+   </extension>
+
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
+null
    <extension point="org.eclipse.ui.newWizards">
       <category
             id="org.eclipse.emf.ecore.Wizard.category.ID"
@@ -137,4 +253,6 @@
       </editor>
    </extension>
 
+null
+null
 </plugin>
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsEditor.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsEditor.java
index 23385b8a..4d92bac6 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsEditor.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsEditor.java
@@ -41,6 +41,7 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +61,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -170,6 +172,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.Servic
 
 import edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class FunctionsEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class FunctionsEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(FunctionsEditor.this);
 						handleActivate();
 					}
@@ -459,6 +462,15 @@ public class FunctionsEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class FunctionsEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -712,6 +725,7 @@ public class FunctionsEditor
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -734,8 +748,14 @@ public class FunctionsEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -941,7 +961,7 @@ public class FunctionsEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1399,23 +1419,22 @@ public class FunctionsEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						FunctionsEditor.this.setSelectionToViewer(selection);
-						FunctionsEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					FunctionsEditor.this.setSelectionToViewer(selection);
+					FunctionsEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1482,6 +1501,7 @@ public class FunctionsEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1534,7 +1554,7 @@ public class FunctionsEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1606,20 +1626,9 @@ public class FunctionsEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			ApplicationlevelEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1810,7 +1819,7 @@ public class FunctionsEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsModelWizard.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsModelWizard.java
index 107ba009..40395c27 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/presentation/FunctionsModelWizard.java
@@ -398,8 +398,7 @@ public class FunctionsModelWizard extends Wizard implements INewWizard {
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesEditor.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesEditor.java
index 8824a099..871566ba 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesEditor.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesEditor.java
@@ -41,6 +41,8 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +62,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -118,8 +121,6 @@ import org.eclipse.emf.common.util.BasicDiagnostic;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.URI;
 
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EValidator;
 
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -170,6 +171,8 @@ import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.Servic
 
 import edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
+
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class ParameterdependenciesEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class ParameterdependenciesEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(ParameterdependenciesEditor.this);
 						handleActivate();
 					}
@@ -416,7 +419,7 @@ public class ParameterdependenciesEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected EContentAdapter problemIndicationAdapter = 
+	protected EContentAdapter problemIndicationAdapter =
 		new EContentAdapter() {
 			@Override
 			public void notifyChanged(Notification notification) {
@@ -459,6 +462,15 @@ public class ParameterdependenciesEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class ParameterdependenciesEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -610,7 +623,7 @@ public class ParameterdependenciesEditor
 			updateProblemIndication();
 		}
 	}
-  
+
 	/**
 	 * Updates the problems indication with the information described in the specified diagnostic.
 	 * <!-- begin-user-doc -->
@@ -712,6 +725,7 @@ public class ParameterdependenciesEditor
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -734,8 +748,14 @@ public class ParameterdependenciesEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -941,7 +961,7 @@ public class ParameterdependenciesEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1399,23 +1419,22 @@ public class ParameterdependenciesEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						ParameterdependenciesEditor.this.setSelectionToViewer(selection);
-						ParameterdependenciesEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					ParameterdependenciesEditor.this.setSelectionToViewer(selection);
+					ParameterdependenciesEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1482,6 +1501,7 @@ public class ParameterdependenciesEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1534,7 +1554,7 @@ public class ParameterdependenciesEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1606,20 +1626,9 @@ public class ParameterdependenciesEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			ApplicationlevelEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1810,7 +1819,7 @@ public class ParameterdependenciesEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesModelWizard.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesModelWizard.java
index 369fa177..67a5ec0a 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/presentation/ParameterdependenciesModelWizard.java
@@ -398,8 +398,7 @@ public class ParameterdependenciesModelWizard extends Wizard implements INewWiza
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/presentation/ApplicationlevelEditorPlugin.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/presentation/ApplicationlevelEditorPlugin.java
index 598b4fe3..aa4f2a43 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/presentation/ApplicationlevelEditorPlugin.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/presentation/ApplicationlevelEditorPlugin.java
@@ -7,6 +7,7 @@ import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
 
 import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
 
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
 import org.eclipse.emf.common.EMFPlugin;
 
 import org.eclipse.emf.common.ui.EclipseUIPlugin;
@@ -47,6 +48,7 @@ public final class ApplicationlevelEditorPlugin extends EMFPlugin {
 			(new ResourceLocator [] {
 				CoreEditPlugin.INSTANCE,
 				IdentifierEditPlugin.INSTANCE,
+				ResourcelandscapeEditPlugin.INSTANCE,
 			});
 	}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryEditor.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryEditor.java
index d17aa093..9a21af09 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryEditor.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryEditor.java
@@ -41,6 +41,7 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +61,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -170,6 +172,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.Servic
 
 import edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class RepositoryEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class RepositoryEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(RepositoryEditor.this);
 						handleActivate();
 					}
@@ -459,6 +462,15 @@ public class RepositoryEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class RepositoryEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -712,6 +725,7 @@ public class RepositoryEditor
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -734,8 +748,14 @@ public class RepositoryEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -941,7 +961,7 @@ public class RepositoryEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1399,23 +1419,22 @@ public class RepositoryEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						RepositoryEditor.this.setSelectionToViewer(selection);
-						RepositoryEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					RepositoryEditor.this.setSelectionToViewer(selection);
+					RepositoryEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1482,6 +1501,7 @@ public class RepositoryEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1534,7 +1554,7 @@ public class RepositoryEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1606,20 +1626,9 @@ public class RepositoryEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			ApplicationlevelEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1810,7 +1819,7 @@ public class RepositoryEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryModelWizard.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryModelWizard.java
index 78f43ff9..e74f8aa4 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/presentation/RepositoryModelWizard.java
@@ -398,8 +398,7 @@ public class RepositoryModelWizard extends Wizard implements INewWizard {
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorEditor.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorEditor.java
index 8da3980a..546902fd 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorEditor.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorEditor.java
@@ -41,6 +41,8 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
+
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +62,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -118,8 +121,6 @@ import org.eclipse.emf.common.util.BasicDiagnostic;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.URI;
 
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EValidator;
 
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.ResourceSet;
@@ -170,6 +171,8 @@ import edu.kit.ipd.descartes.mm.applicationlevel.repository.provider.RepositoryI
 
 import edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
+
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class ServicebehaviorEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class ServicebehaviorEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(ServicebehaviorEditor.this);
 						handleActivate();
 					}
@@ -416,7 +419,7 @@ public class ServicebehaviorEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected EContentAdapter problemIndicationAdapter = 
+	protected EContentAdapter problemIndicationAdapter =
 		new EContentAdapter() {
 			@Override
 			public void notifyChanged(Notification notification) {
@@ -459,6 +462,15 @@ public class ServicebehaviorEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class ServicebehaviorEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -610,7 +623,7 @@ public class ServicebehaviorEditor
 			updateProblemIndication();
 		}
 	}
-  
+
 	/**
 	 * Updates the problems indication with the information described in the specified diagnostic.
 	 * <!-- begin-user-doc -->
@@ -712,6 +725,7 @@ public class ServicebehaviorEditor
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -734,8 +748,14 @@ public class ServicebehaviorEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -941,7 +961,7 @@ public class ServicebehaviorEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1399,23 +1419,22 @@ public class ServicebehaviorEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						ServicebehaviorEditor.this.setSelectionToViewer(selection);
-						ServicebehaviorEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					ServicebehaviorEditor.this.setSelectionToViewer(selection);
+					ServicebehaviorEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1482,6 +1501,7 @@ public class ServicebehaviorEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1534,7 +1554,7 @@ public class ServicebehaviorEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1606,20 +1626,9 @@ public class ServicebehaviorEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			ApplicationlevelEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1810,7 +1819,7 @@ public class ServicebehaviorEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorModelWizard.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorModelWizard.java
index 6473db2c..e68f5b8f 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/presentation/ServicebehaviorModelWizard.java
@@ -398,8 +398,7 @@ public class ServicebehaviorModelWizard extends Wizard implements INewWizard {
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemEditor.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemEditor.java
index 1c919e7f..bc76b631 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemEditor.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemEditor.java
@@ -41,6 +41,7 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +61,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -170,6 +172,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.repository.provider.RepositoryI
 
 import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.ServicebehaviorItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class SystemEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class SystemEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(SystemEditor.this);
 						handleActivate();
 					}
@@ -459,6 +462,15 @@ public class SystemEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class SystemEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -712,6 +725,7 @@ public class SystemEditor
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -734,8 +748,14 @@ public class SystemEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -941,7 +961,7 @@ public class SystemEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1399,23 +1419,22 @@ public class SystemEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						SystemEditor.this.setSelectionToViewer(selection);
-						SystemEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					SystemEditor.this.setSelectionToViewer(selection);
+					SystemEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1482,6 +1501,7 @@ public class SystemEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1534,7 +1554,7 @@ public class SystemEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1606,20 +1626,9 @@ public class SystemEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			ApplicationlevelEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1810,7 +1819,7 @@ public class SystemEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemModelWizard.java b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemModelWizard.java
index 9138a4a0..5aa9b889 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.editor/src/edu/kit/ipd/descartes/mm/applicationlevel/system/presentation/SystemModelWizard.java
@@ -398,8 +398,7 @@ public class SystemModelWizard extends Wizard implements INewWizard {
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF
index a60e885a..760af452 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF
+++ b/edu.kit.ipd.descartes.mm.workload.edit/META-INF/MANIFEST.MF
@@ -17,5 +17,7 @@ Require-Bundle: org.eclipse.core.runtime,
  edu.kit.ipd.descartes.core;visibility:=reexport,
  edu.kit.ipd.descartes.core.edit;visibility:=reexport,
  edu.kit.ipd.descartes.identifier;visibility:=reexport,
- edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape.edit;visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_ExplicitDescription.gif b/edu.kit.ipd.descartes.mm.workload.edit/icons/full/ctool16/CreateBranchUserAction_branchUserProbabilities_ExplicitDescription.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b033b9d17bec867a04fbef0481c6e0bbd76f9000
GIT binary patch
literal 223
zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?84F?<?9RB~0pC51k|Gs@g
zL&LSEYsZ3*t+8Cwrqi}-x*8B|ous_3OMYpS)VxZunI*#i{=NsIzn{+o(Vypwf8T8e
zng#)iKUo+-EFBO5vXg-|MnR!3CDKlfVdmMxQ!Z?s)Zg4Usl?Oxvq{gj>`9tp>its5
zna+V4vzMP>7wOZQbLym<6@!l2eQy^FfuM%jFA_d1I@!*&Fu_g!MoZ1@T&>eD)AJc}
OYMN3To3d3E8LR>B6kw<T

literal 0
HcmV?d00001

diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
index 0073fdbd..fc4edd0c 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.properties
@@ -78,3 +78,4 @@ _UI_CallParameterSetting_value_feature = Value
 _UI_Workload_systems_feature = Systems
 _UI_Workload_system_feature = System
 _UI_EntryLevelSystemCall_providingRole_feature = Providing Role
+_UI_LoopUserAction_loopIterationCount_feature = Loop Iteration Count
diff --git a/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml b/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml
index b067c3ad..78567e94 100644
--- a/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml
+++ b/edu.kit.ipd.descartes.mm.workload.edit/plugin.xml
@@ -19,4 +19,17 @@
                org.eclipse.emf.edit.provider.IItemPropertySource"/>
    </extension>
 
+   <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+      <!-- @generated workload -->
+      <factory
+            uri="http://www.descartes-research.net/metamodel/workload/0.1"
+            class="edu.kit.ipd.descartes.mm.workload.provider.WorkloadItemProviderAdapterFactory"
+            supportedTypes=
+              "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+               org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+               org.eclipse.emf.edit.provider.ITreeItemContentProvider
+               org.eclipse.emf.edit.provider.IItemLabelProvider
+               org.eclipse.emf.edit.provider.IItemPropertySource"/>
+   </extension>
+
 </plugin>
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
index 33da517b..73283e4e 100644
--- 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
@@ -60,25 +60,25 @@ public class LoopUserActionItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addLoopIterationCountDistributionPropertyDescriptor(object);
+			addLoopIterationCountPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Loop Iteration Count Distribution feature.
+	 * This adds a property descriptor for the Loop Iteration Count feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addLoopIterationCountDistributionPropertyDescriptor(Object object) {
+	protected void addLoopIterationCountPropertyDescriptor(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,
+				 getString("_UI_LoopUserAction_loopIterationCount_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_LoopUserAction_loopIterationCount_feature", "_UI_LoopUserAction_type"),
+				 WorkloadPackage.Literals.LOOP_USER_ACTION__LOOP_ITERATION_COUNT,
 				 true,
 				 false,
 				 true,
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
index e84907e3..4a23c782 100644
--- 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
@@ -9,6 +9,7 @@ import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
 import org.eclipse.emf.common.EMFPlugin;
 
 import org.eclipse.emf.common.util.ResourceLocator;
@@ -48,6 +49,7 @@ public final class WorkloadEditPlugin extends EMFPlugin {
 		     ApplicationlevelEditPlugin.INSTANCE,
 		     CoreEditPlugin.INSTANCE,
 		     IdentifierEditPlugin.INSTANCE,
+		     ResourcelandscapeEditPlugin.INSTANCE,
 		   });
 	}
 
diff --git a/edu.kit.ipd.descartes.mm.workload.editor/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.mm.workload.editor/META-INF/MANIFEST.MF
index c8477f41..a62881f6 100644
--- a/edu.kit.ipd.descartes.mm.workload.editor/META-INF/MANIFEST.MF
+++ b/edu.kit.ipd.descartes.mm.workload.editor/META-INF/MANIFEST.MF
@@ -17,5 +17,6 @@ Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ui.ide;visibility:=reexport,
  edu.kit.ipd.descartes.mm.applicationlevel.edit;visibility:=reexport,
  edu.kit.ipd.descartes.core.edit;visibility:=reexport,
- edu.kit.ipd.descartes.identifier.edit;visibility:=reexport
+ edu.kit.ipd.descartes.identifier.edit;visibility:=reexport,
+ edu.kit.ipd.descartes.mm.resourcelandscape.edit;visibility:=reexport
 Bundle-ActivationPolicy: lazy
diff --git a/edu.kit.ipd.descartes.mm.workload.editor/plugin.xml b/edu.kit.ipd.descartes.mm.workload.editor/plugin.xml
index 7c309d7e..307b6fa8 100644
--- a/edu.kit.ipd.descartes.mm.workload.editor/plugin.xml
+++ b/edu.kit.ipd.descartes.mm.workload.editor/plugin.xml
@@ -22,6 +22,18 @@
       </wizard>
    </extension>
 
+   <extension point="org.eclipse.ui.editors">
+      <!-- @generated workload -->
+      <editor
+            id="edu.kit.ipd.descartes.mm.workload.presentation.WorkloadEditorID"
+            name="%_UI_WorkloadEditor_label"
+            icon="icons/full/obj16/WorkloadModelFile.gif"
+            extensions="workload"
+            class="edu.kit.ipd.descartes.mm.workload.presentation.WorkloadEditor"
+            contributorClass="edu.kit.ipd.descartes.mm.workload.presentation.WorkloadActionBarContributor">
+      </editor>
+   </extension>
+
    <extension point="org.eclipse.ui.editors">
       <editor
             id="edu.kit.ipd.descartes.mm.workload.workload.presentation.WorkloadEditorID"
diff --git a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditor.java b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditor.java
index 648ca18d..0fccc7f0 100644
--- a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditor.java
+++ b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditor.java
@@ -41,6 +41,7 @@ import org.eclipse.jface.action.Separator;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.dialogs.ProgressMonitorDialog;
 
+import org.eclipse.jface.util.LocalSelectionTransfer;
 import org.eclipse.jface.viewers.ColumnWeightData;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -60,6 +61,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CTabFolder;
 
 import org.eclipse.swt.dnd.DND;
+import org.eclipse.swt.dnd.FileTransfer;
 import org.eclipse.swt.dnd.Transfer;
 
 import org.eclipse.swt.events.ControlAdapter;
@@ -170,6 +172,7 @@ import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider.Servic
 
 import edu.kit.ipd.descartes.mm.applicationlevel.system.provider.SystemItemProviderAdapterFactory;
 
+import edu.kit.ipd.descartes.mm.resourcetype.provider.ResourcetypeItemProviderAdapterFactory;
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -228,7 +231,7 @@ public class WorkloadEditor
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected PropertySheetPage propertySheetPage;
+	protected List<PropertySheetPage> propertySheetPages = new ArrayList<PropertySheetPage>();
 
 	/**
 	 * This is the viewer that shadows the selection in the content outline.
@@ -347,7 +350,7 @@ public class WorkloadEditor
 					}
 				}
 				else if (p instanceof PropertySheet) {
-					if (((PropertySheet)p).getCurrentPage() == propertySheetPage) {
+					if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) {
 						getActionBarContributor().setActiveEditor(WorkloadEditor.this);
 						handleActivate();
 					}
@@ -459,6 +462,15 @@ public class WorkloadEditor
 			@Override
 			protected void unsetTarget(Resource target) {
 				basicUnsetTarget(target);
+				resourceToDiagnosticMap.remove(target);
+				if (updateProblemIndication) {
+					getSite().getShell().getDisplay().asyncExec
+						(new Runnable() {
+							 public void run() {
+								 updateProblemIndication();
+							 }
+						 });
+				}
 			}
 		};
 
@@ -492,6 +504,7 @@ public class WorkloadEditor
 										}
 									}
 								}
+								return false;
 							}
 
 							return true;
@@ -713,6 +726,7 @@ public class WorkloadEditor
 		adapterFactory.addAdapterFactory(new CoreItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new IdentifierItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new SystemItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new ResourcetypeItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
@@ -735,8 +749,14 @@ public class WorkloadEditor
 								  if (mostRecentCommand != null) {
 									  setSelectionToViewer(mostRecentCommand.getAffectedObjects());
 								  }
-								  if (propertySheetPage != null && !propertySheetPage.getControl().isDisposed()) {
-									  propertySheetPage.refresh();
+								  for (Iterator<PropertySheetPage> i = propertySheetPages.iterator(); i.hasNext(); ) {
+									  PropertySheetPage propertySheetPage = i.next();
+									  if (propertySheetPage.getControl().isDisposed()) {
+										  i.remove();
+									  }
+									  else {
+										  propertySheetPage.refresh();
+									  }
 								  }
 							  }
 						  });
@@ -942,7 +962,7 @@ public class WorkloadEditor
 		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
 		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() };
 		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
 		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
 	}
@@ -1400,23 +1420,22 @@ public class WorkloadEditor
 	 * @generated
 	 */
 	public IPropertySheetPage getPropertySheetPage() {
-		if (propertySheetPage == null) {
-			propertySheetPage =
-				new ExtendedPropertySheetPage(editingDomain) {
-					@Override
-					public void setSelectionToViewer(List<?> selection) {
-						WorkloadEditor.this.setSelectionToViewer(selection);
-						WorkloadEditor.this.setFocus();
-					}
+		PropertySheetPage propertySheetPage =
+			new ExtendedPropertySheetPage(editingDomain) {
+				@Override
+				public void setSelectionToViewer(List<?> selection) {
+					WorkloadEditor.this.setSelectionToViewer(selection);
+					WorkloadEditor.this.setFocus();
+				}
 
-					@Override
-					public void setActionBars(IActionBars actionBars) {
-						super.setActionBars(actionBars);
-						getActionBarContributor().shareGlobalActions(this, actionBars);
-					}
-				};
-			propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
-		}
+				@Override
+				public void setActionBars(IActionBars actionBars) {
+					super.setActionBars(actionBars);
+					getActionBarContributor().shareGlobalActions(this, actionBars);
+				}
+			};
+		propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
+		propertySheetPages.add(propertySheetPage);
 
 		return propertySheetPage;
 	}
@@ -1483,6 +1502,7 @@ public class WorkloadEditor
 		//
 		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
 		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+		saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED);
 
 		// Do the work within an operation because this is a long running activity that modifies the workbench.
 		//
@@ -1535,7 +1555,7 @@ public class WorkloadEditor
 
 	/**
 	 * This returns whether something has been persisted to the URI of the specified resource.
-	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream. 
+	 * The implementation uses the URI converter from the editor's resource set to try to open an input stream.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
@@ -1607,20 +1627,9 @@ public class WorkloadEditor
 	 * @generated
 	 */
 	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-					  setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		}
-		catch (CoreException exception) {
-			WorkloadEditorPlugin.INSTANCE.log(exception);
+		List<?> targetObjects = markerHelper.getTargetObjects(editingDomain, marker);
+		if (!targetObjects.isEmpty()) {
+			setSelectionToViewer(targetObjects);
 		}
 	}
 
@@ -1811,7 +1820,7 @@ public class WorkloadEditor
 			getActionBarContributor().setActiveEditor(null);
 		}
 
-		if (propertySheetPage != null) {
+		for (PropertySheetPage propertySheetPage : propertySheetPages) {
 			propertySheetPage.dispose();
 		}
 
diff --git a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditorPlugin.java b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditorPlugin.java
index 1c2efc0a..332bc373 100644
--- a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditorPlugin.java
+++ b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadEditorPlugin.java
@@ -9,6 +9,7 @@ import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
 
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
+import edu.kit.ipd.descartes.mm.resourcelandscape.provider.ResourcelandscapeEditPlugin;
 import org.eclipse.emf.common.EMFPlugin;
 
 import org.eclipse.emf.common.ui.EclipseUIPlugin;
@@ -50,6 +51,7 @@ public final class WorkloadEditorPlugin extends EMFPlugin {
 				ApplicationlevelEditPlugin.INSTANCE,
 				CoreEditPlugin.INSTANCE,
 				IdentifierEditPlugin.INSTANCE,
+				ResourcelandscapeEditPlugin.INSTANCE,
 			});
 	}
 
diff --git a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadModelWizard.java b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadModelWizard.java
index 18dd3252..0438d7c3 100644
--- a/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadModelWizard.java
+++ b/edu.kit.ipd.descartes.mm.workload.editor/src/edu/kit/ipd/descartes/mm/workload/presentation/WorkloadModelWizard.java
@@ -396,8 +396,7 @@ public class WorkloadModelWizard extends Wizard implements INewWizard {
 		 * @generated
 		 */
 		public void createControl(Composite parent) {
-			Composite composite = new Composite(parent, SWT.NONE);
-			{
+			Composite composite = new Composite(parent, SWT.NONE); {
 				GridLayout layout = new GridLayout();
 				layout.numColumns = 1;
 				layout.verticalSpacing = 12;
-- 
GitLab