diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif
index c2235ab275bedac8c4eb6801f5b8a70a63f83b6c..86fde1e236e11f6c4dc311658422f3043fe630ec 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTimeSpecification_ResponseTimeSpecification.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_fineGrainedBehavior_FineGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif
index e4fcc2d6eaccaa35bb4e1b5d7b7ae9805e2d627a..9d6e42e4548dd882b82535ee0b1a8a743697dfca 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_BranchTransition.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBasicComponent_semaphores_Semaphore.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif
index 14d8d5f68193874f779d1b2ab6d52750e7ccd773..6153c8dfcbb5bf74fcfd547e96699c6daf8b6bca 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchTransition_branchBehavior_ComponentInternalBehavior.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif
similarity index 71%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif
index ec4ba79d49c31a237204b323e46380506d52769f..4ec7362a76edfdda6fd5c3df0fd86745b5428e12 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemandSpecification_ResourceDemandSpecification.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e487021af0d3dd87f258c62e08efcfd91ee8858
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c565965f8fcf5d4e3dd4075d22170487bf8a19f4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c0ac967d854aea6a6b29133ad69e8418e1bd5836
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98a66f134f020b6ada9f93b8ac04713fd7b3c813
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1010ed82e50374c77a8a0d88ea93f182fd9dfbb4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..822c544671bf421833386e40d0121d6dbb20b120
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4d10d577799a0407a8112dbd0d90fb6a5b446af6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5217be62850c1c0a3e804b9a394cfbe9da399dcd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6153c8dfcbb5bf74fcfd547e96699c6daf8b6bca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4ec7362a76edfdda6fd5c3df0fd86745b5428e12
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7e487021af0d3dd87f258c62e08efcfd91ee8858
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c565965f8fcf5d4e3dd4075d22170487bf8a19f4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c0ac967d854aea6a6b29133ad69e8418e1bd5836
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fe0e4b2b82e6066937d4eb71e085a14fc08a7399
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98a66f134f020b6ada9f93b8ac04713fd7b3c813
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1010ed82e50374c77a8a0d88ea93f182fd9dfbb4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9c0cab08bc0a6bf8324584ed33f0dc5bf1e5da5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..822c544671bf421833386e40d0121d6dbb20b120
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..539282628a7e969261bc0994edd169be63eeae28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4d10d577799a0407a8112dbd0d90fb6a5b446af6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5217be62850c1c0a3e804b9a394cfbe9da399dcd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBinaryBooleanExpression_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTime_ResponseTime.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTime_ResponseTime.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2a9f5b6928b2456bf9f6fc47ae2535889b5c0e62
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBlackBoxBehavior_responseTime_ResponseTime.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b6bdc3869b057fbd574b64c38a85d8b80bc06f68
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoolSampleList_items_BoolSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..388fb52f1e2049dff174ff2a29e88a1d19c96cae
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBoxedPDF_sample_ContinuousSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif
new file mode 100644
index 0000000000000000000000000000000000000000..08b62b9af29ea343d501ce0ba5c87e57af6c8edb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branchProbabilities_BranchProbabilities.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..561e20c16f11bcad56ed8fc8d1854ce82c8ad336
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateBranchAction_branches_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCharacterization_explicitFunction_ExplicitFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCharacterization_explicitFunction_ExplicitFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..baaa3be79d895999bd43f5cde2e4627257e5cc8e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCharacterization_explicitFunction_ExplicitFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ca92866c7c7c0fb603c4d3e7cd4178d3fd27fa60
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_externalCallFrequency_ExternalCallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemand_ResourceDemand.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemand_ResourceDemand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..180d9c7786e78f9e7162ba1d3b3c6730dc20bd9d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCoarseGrainedBehavior_resourceDemand_ResourceDemand.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_explicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BoxedPDF.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_explicitCharacterization_ExplicitCharacterization.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_BoxedPDF.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComparison_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38e8cc2ed101d225c6b37ca7a9dbcf5e850964d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_AcquireAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..63dbadf56c1af14114366d6697983a0f50002383
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e81c185d38b35ce49942524d635ef2c98a61fb79
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f7a01deebad20b92a21abcdb077dceb55be93ac9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ForkAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43035507eedd309b9910045b7f9e30f0fc0f3463
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_InternalAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e81c185d38b35ce49942524d635ef2c98a61fb79
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..05dc6202681644db2106daa7cdfb8c35be612215
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_ReleaseAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif
deleted file mode 100644
index 76d2d364527040c7ed6617da962a1d1419b55abe..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StartAction.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif
deleted file mode 100644
index 4e5ea6a0d742befe7e1f4288e861f7007780296b..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComponentInternalBehavior_actions_StopAction.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1264e5e43bcba74cdc2b994b5378f2243933f837
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyConnectors_AssemblyConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b0b8b572db5e6bef45771670672f3610690329c5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_assemblyContexts_AssemblyContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif
deleted file mode 100644
index b73db01fb3d86bf4cfb638e53059e7c1e9d29bb0..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providedDelegationConnectors_ProvidedDelegationConnector.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providingDelegationConnectors_ProvidingDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providingDelegationConnectors_ProvidingDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..43703db98548be04b6058fcf85cb6e223b032b1a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_providingDelegationConnectors_ProvidingDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif
deleted file mode 100644
index d5442892a77c6b18f674c575a94e05304bc4f509..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiredDelegationConnectors_RequiredDelegationConnector.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiringDelegationConnectors_RequiringDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiringDelegationConnectors_RequiringDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f0855e9a49b9d3ca74e703d16a2accd5a05ded6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateComposedStructure_requiringDelegationConnectors_RequiringDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e279dec056fbe4b50037776c91154dd8baa267cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCompositeDataType_innerDeclarations_InnerDeclaration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_characterization_Characterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_characterization_Characterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c62954884381e4f54aa8dcbed2c63706ace7ecfd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_characterization_Characterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftComponentInstanceReference_ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_destComponentInstanceReference_ComponentInstanceReference.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftComponentInstanceReference_ComponentInstanceReference.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_destComponentInstanceReference_ComponentInstanceReference.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif
deleted file mode 100644
index 846943b6cb816c3913b41fccfc1c2d84fe7b79c3..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_leftToRightExplicitCharacterization_ExplicitCharacterization.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif
deleted file mode 100644
index 846943b6cb816c3913b41fccfc1c2d84fe7b79c3..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightToLeftExplicitCharacterization_ExplicitCharacterization.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightComponentInstanceReference_ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_sourceComponentInstanceReferences_ComponentInstanceReference.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_rightComponentInstanceReference_ComponentInstanceReference.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateCorrelationRelationship_sourceComponentInstanceReferences_ComponentInstanceReference.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_characterization_Characterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_characterization_Characterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b611480bea9a1728ce18869b34c4d80a986b473
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDependencyRelationship_characterization_Characterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6e87a232021b899090f3a47cc3af536add4cf89b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateDoubleSampleList_items_DoubleSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif
deleted file mode 100644
index cae9e95afc8e54e7a6e7d59681664d2a8c4119bc..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEmpiricalCharacterization_empiricalFunction_EmpiricalFunction.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f3ec4289f0ec49374f81098c47632ef2e190133
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateEnumSampleList_items_EnumSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..027f1b702718a54abdad340f25abd1f6f0f8419f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_externalCall_ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExternalCallFrequency_frequency_CallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..40e5eedcdbe510e8293fc0f4ba1eadebb701805c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFineGrainedBehavior_behavior_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e268a9e4429250b626a3bc50a1dc7fb68295c2c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateForkAction_forkedBehaviors_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f61f1983011465fb694356efbdca7452b94f81ce
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a163af34f267844b121ad8f81ed8c357a9792b2e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8966d1170904f3105bdc7267a8b67ad1b7c5b27c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b402369f15786aaffd55f7567877f6922f8e7c6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7936184f76ea9bfbd5bb1ad60b6b19feefe52ec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bd2a29ab6f1c79d7d460bd7181ff2ef6f96feb91
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5d2a1980b82f0d9f03bc8b546babbfbfb34125da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8966d1170904f3105bdc7267a8b67ad1b7c5b27c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9d46aad43a1956bd0ad1e024d11c53c591303e55
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b417a5937218fd30d9525e730a1d219cf169629
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..063a8534d3e95cf65b984bb4bbc2714b1433fc7c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b402369f15786aaffd55f7567877f6922f8e7c6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b2c0939bd6bdeca02531aa0e4aaea8e716a74d3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0b417a5937218fd30d9525e730a1d219cf169629
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..59763f447c16316d2a761cf78707e3cb70653ef8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d2b476631944606c6e65384e5e1bde5d12181dd5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateFunction_parameters_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_condition_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_falseExp_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..55d7be5a9128f0d36af3f3cc3b8845552495c686
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66a52f706ce3c45ef529352b1ec3ba414051d035
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..68ad5bdffffa9420bbdc0df4f6f0f96fdc1c17bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..96cdc6db4b6a247f64a9aea357ac56dc6814e2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3bc59373400ad70d5d73874659d7a3f11e9ce4db
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a18b783b5acd8150d28ea34c09a49bc924ef82bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f809a28cc7227bf020f4f5d0187bb1ce201458d5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..278cd8af6a478ccfbaa39620e52662730c0b2187
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2b447c2433a351d5178a946f0186d6daea227c7d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1b76a8a7e8193b06280007dec31fe041784f4477
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cbc9f8d4452a84872fb2b3fd6aba108fac48d276
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c6407cdae5f3df5dff418abff0c5584771712f2d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5206c2e2d481cc58be6d48f50e5a5b70b8c259ef
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIfElseExpression_trueExp_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif
deleted file mode 100644
index adc52b4222a1e263acdad5fbde8a2ef80b230111..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInfluencingParameter_scope_Scope.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..58e344bde6e67edf637479de523bc72b9485e0f3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateIntSampleList_items_IntSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7f3140706575745c5706a629156c3511075bf5f5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_blackBoxBehavior_BlackBoxBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_interfaceProvidingRoles_InterfaceProvidingRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_interfaceProvidingRoles_InterfaceProvidingRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4aaad5a4cd75b9a48b2e286f73426d1ba570b32f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_interfaceProvidingRoles_InterfaceProvidingRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif
deleted file mode 100644
index da5a15f5c5ecbde398a13ad22965c03e50467d94..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingEntity_providedRoles_ProvidedRole.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2a8a6d1e38bb13d6fa2ac65f9f78c8862a761a28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceProvidingRequiringEntity_coarseGrainedBehavior_CoarseGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_interfaceRequiringRoles_InterfaceRequiringRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_interfaceRequiringRoles_InterfaceRequiringRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d4b7df4075d485a77853612103ac0e598f8c9089
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_interfaceRequiringRoles_InterfaceRequiringRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif
deleted file mode 100644
index f8b4deab4f94ba144d205bf4cc0d4cb3ffc24429..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterfaceRequiringEntity_requiredRoles_RequiredRole.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ee915d49e60111fe4f541f493f9a78e9230aee0a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInterface_signatures_Signature.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif
deleted file mode 100644
index ec670471e4341637ed05dec9c932b9655d785a87..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemandSpecification_ResourceDemandSpecification.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemand_ResourceDemand.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemand_ResourceDemand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..262c4cbb9c21b8358e4ed47357f786c8b0e48963
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateInternalAction_resourceDemand_ResourceDemand.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9e4b0fb72072c8f6f9cb738d6722aa174db6a9e1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopBodyBehavior_ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..49d98d937adca33420af6b8a14e9d8debe501fd3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateLoopAction_loopIterationCountDistribution_LoopIterationCountDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitCharacterization_explicitFunction_ExplicitFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_scopeSet_ScopeSet.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateExplicitCharacterization_explicitFunction_ExplicitFunction.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateModelVariable_scopeSet_ScopeSet.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_base_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b41d35c74d4e99b46edbe11dabaa4977556bd89
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..79a0b583136b39863ef161953ac6b8b2415723f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f11ad8983f40c1bf791d3530e425f8b69dd81339
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7acbca393c021e295ffe87c630d705272c87c73c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..72a560fe4a20eeaec2d85131af777c8f68e86c4e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..f4369fd0a4e279f9038fd569299dca091c0adec7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8804a9339337ed84b5ccbb48b6c7907c41b45da
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..2d3a78e68de7e4f8ea5ffa36e2c650ec9bc1c61f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3744cee6aecf55e4ca927e288d505ed20309ab19
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..506a19bf586b9a22bcaf4bdfac52b7a211515a53
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..66cbc4c04812c284aa31798c94ad16de8cb8b5cd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a2ea8fe4fb00ce181ff32e3e618125fd43a4fa29
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0c070475d5d3eb93f7c7217f8f3e985d1ef83077
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreatePower_exponent_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..29f98e74f3139e4f7fb6bb50c7d71dc24cb4a917
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_BoolSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..431ba00e4299e1710a110f10d373136688af69dc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_DoubleSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3da98f774369141f4654a5bcd2bbcdb33eadef6e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_EnumSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..59e174d67ca4d29995fbe4aba5a797f67e4d0c98
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProbabilityMassFunction_samples_IntSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9364baeebd68fcf2f2dec0086bb32bb281d282
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57dceaeb0fe00cb3a7cc923a564d7c886b03b40d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4833facbbbe2e81dbf0a255d06a51ec1c7580442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16301136d1900ee7e82fcba9ce78e7211e6ee42d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..794791ad9f0ed2e2b2ef655bbc8a37934f7733e3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94fcc9b70088516f072b5053844526c811159300
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..171603a7477054ce1620bba297b31810f90f07e9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..babb084892c4d14f28525b05b99b0ecd71c070ed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf6dfd56a6d651e98ec7c60e9aec23851457687f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0f9364baeebd68fcf2f2dec0086bb32bb281d282
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..57dceaeb0fe00cb3a7cc923a564d7c886b03b40d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4833facbbbe2e81dbf0a255d06a51ec1c7580442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a8861542f93fe939b6541db275cf7a9314565442
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..16301136d1900ee7e82fcba9ce78e7211e6ee42d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..75937a9df9fa9ac9e2f7ccbb603bc58ddd3aac77
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..794791ad9f0ed2e2b2ef655bbc8a37934f7733e3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94fcc9b70088516f072b5053844526c811159300
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c819bceac85b17d6ddf4528634b1c9eade85f3c8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..171603a7477054ce1620bba297b31810f90f07e9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d08a6f84a0349c6c6d745bd33039a9674db30fdb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..babb084892c4d14f28525b05b99b0ecd71c070ed
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cf6dfd56a6d651e98ec7c60e9aec23851457687f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateProduct_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89d8767bf56c38fd34720d1577c45b61dc8817ca
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_BasicComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b19f705944427e17a1e9dcb69b79d3466837f80
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_CompositeComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ec9a814da6c63196082a15ae263ced39edef2bcb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_components_SubSystem.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CollectionDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_CompositeDataType.gif differ
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
deleted file mode 100644
index 064dd753f37e2cb898d8ce99bbaf2b968d7d6529..0000000000000000000000000000000000000000
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_datatypes_PrimitiveDataType.gif and /dev/null differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif
new file mode 100644
index 0000000000000000000000000000000000000000..381214b7725a0ba12c093604e1b4bf4c563cc604
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_imports_Import.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..396a4d777ec58bb09a606e602d9361edefe10f20
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateRepository_interfaces_Interface.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencedVariableReference_InfluencedVariableReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencedVariableReference_InfluencedVariableReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4b78f56080a04681383139082715692470f6a348
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencedVariableReference_InfluencedVariableReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..776c80f6941746bf9722ccfc686f54495ade6cd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..961acc569eeb7e4c29325471ff08355036e604fd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ExternalCallReturnParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..201f4af13be14a8275afe17377fb83ecff18dfd2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_InfluencingParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b7e2f30c26a2406b1f2f4addcc24ad457934b4de
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateServiceBehaviorAbstraction_influencingParameter_ServiceInputParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3090830045ce6bf1b0f2f3100b6322a6e93d4eda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateSignature_parameters_Parameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04aab9257b410114d814aa6c4591dbf71f20b349
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac141af672d33e778eb5683c7ada59c0c468c93
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12ec17b7cf21b8fa552e66383c5d5ffc0f473328
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b42bd7b416b8f97563664cd539a9b6a73cfe0df
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0d8e38fd5b70a70ce1dcade2f13fa443cd5a5e6f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6875c5d9205616b899b4aea3b33f6b9b41138bcf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..942aab31ac211bec367f60f03e1ff847bb4ba5aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_left_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..04aab9257b410114d814aa6c4591dbf71f20b349
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9ac141af672d33e778eb5683c7ada59c0c468c93
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..12ec17b7cf21b8fa552e66383c5d5ffc0f473328
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8b42bd7b416b8f97563664cd539a9b6a73cfe0df
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0d8e38fd5b70a70ce1dcade2f13fa443cd5a5e6f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..468d5f998b24bae07fbaae0ca702b830f9a635c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..6875c5d9205616b899b4aea3b33f6b9b41138bcf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d415ad7a8c90ab0d2815152c2b5b5d21547ecb7a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..28ad8b8deeeb6d4b57a3c7226967bac0e0d632b5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..942aab31ac211bec367f60f03e1ff847bb4ba5aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..e8bebbfd88d81d8a817b103676a9119729aaa37a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a1607f910083346345671e52588d6acdb6f1dd0f
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..74f7ceb34b938a5d45117b8b00f03c067b4a51a8
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateTerm_right_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c05a41849689a719a2c5c69a55df481451fc980a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BinaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..385b36595f65a969076a1f527677d0e96cf79d51
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BooleanLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af07ba12a2bdf3e480696fa3388fd266e8ad87c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_BoxedPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif
new file mode 100644
index 0000000000000000000000000000000000000000..908375cea5aebb62d3cd94b436b77ed1f6dbdbda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Comparison.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..464e623af1bec3cb9169427f8df20d5108dce5cc
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..38d77bbab6c0d9efba0dd5521fc028ef50978388
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..fc34e45332d798cca5ae2b823a9ca1ab4c0954c0
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif
new file mode 100644
index 0000000000000000000000000000000000000000..af07ba12a2bdf3e480696fa3388fd266e8ad87c3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Function.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..3423b903ca3cf68d0fc3f574b8f2ed48e5e63820
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..959b8924b24669468c75f3fe603543e3d2c5cc08
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9c7efc49c09f042f89d2bd727f3c1d9e788c1301
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif
new file mode 100644
index 0000000000000000000000000000000000000000..908375cea5aebb62d3cd94b436b77ed1f6dbdbda
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Power.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1d2f734b1512dac405e7b55fbdba0935aec78f4b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif
new file mode 100644
index 0000000000000000000000000000000000000000..959b8924b24669468c75f3fe603543e3d2c5cc08
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Product.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1f8189adbeb9c651b1e073744529291b07715292
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_Term.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..883ce93b4303d7e81ab88f53bb8a3a3cf3eae2e6
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/ctool16/CreateUnaryBooleanExpression_inner_UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif
index 420eee177528d9bd6d862c38d2a66c14835a6140..f8041d22553d3f326e3e82be501f2e9bac3794b0 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchTransition.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AbstractAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif
index a3908bcf7b4ec0b29040bb1ef944c4d5a93fbb32..7b7c428c715e615c179d42a8462ee953741414d4 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariable.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AcquireAction.gif differ
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/AssemblyConnector.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyConnector.gif
index b1f8afa47661703c49bd5fa535dcb1342deb6fc4..c673a5200a53ebd68c78c5cdb9d1bd4eaa855afb 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/PrimitiveDataType.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif
similarity index 50%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif
index 14af8aaee9f431cebfb2b13249821419380131a3..c414fe9f728a37e7a2578cf66e5d3f625b429d0e 100644
Binary files a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTimeSpecification.gif and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/AssemblyContext.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BasicComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..106881e5d9bf05cb0cf3375cfd102e8039b8ace9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BinaryBooleanExpression.gif differ
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/BlackBoxBehavior.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Scope.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BlackBoxBehavior.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemandSpecification.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSample.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemandSpecification.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSample.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoolSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BooleanLiteral.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredRole.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BooleanLiteral.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoxedPDF.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitCharacterization.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BoxedPDF.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..8a5c70cbd74c87cb3b1df383e0c242ede4660c3b
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchProbabilities.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedRole.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/BranchProbabilities.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Characterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Characterization.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b3643da048a40135b62eed5100cac5afe1ecef3c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Characterization.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45731fe28e7e3521c15328ef201d58b47a13b383
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CoarseGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CollectionDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInstanceReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c3370c7ddd5e0817a59de6fd45ad0993b52abe28
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ComponentInternalBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeComponent.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiredDelegationConnector.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeComponent.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif
new file mode 100644
index 0000000000000000000000000000000000000000..35ef84e20e26f1cef1dcd7ae80d192fd40472368
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CompositeDataType.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif
new file mode 100644
index 0000000000000000000000000000000000000000..1e5345fb3237c2f6eabcee2dbe44a371b49d8379
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousPDF.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ef56c140853105ca812564e9b12a76413c8c3fb9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ContinuousSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CorrelationRelationship.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StopAction.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/CorrelationRelationship.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif
new file mode 100644
index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DependencyRelationship.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7b7c428c715e615c179d42a8462ee953741414d4
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/DoubleSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EmpiricalCharacterization.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSample.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EmpiricalCharacterization.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSample.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..136e3b27269e84a045f9b528614d7dfd316e444c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/EnumSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExplicitFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c414fe9f728a37e7a2578cf66e5d3f625b429d0e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExponentialDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif
new file mode 100644
index 0000000000000000000000000000000000000000..a17dc7d88e993e89a1d5f913ddfab16b1676c5bb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCall.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallFrequency.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..badaab0664ae45de5d990f64638197daeabf31bf
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ExternalCallReturnParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FineGrainedBehavior.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33854e98c25a13543eb9477dc67b0baf87fc81aa
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ForkAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5915591825a5301b9f9a3d398baea497ef02311d
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/FormalParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Function.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidedDelegationConnector.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Function.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..be22463d2919f13a6345bad3166fc216c3f0942a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IfElseExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98b351f1c441775dfbe390577f2e534a4dcf07f9
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Import.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariableReference.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariableReference.gif
new file mode 100644
index 0000000000000000000000000000000000000000..45731fe28e7e3521c15328ef201d58b47a13b383
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencedVariableReference.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InfluencingParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InnerDeclaration.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntLiteral.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif
new file mode 100644
index 0000000000000000000000000000000000000000..134551bff7eb3f0beb14a6c4a270a2a94f782ec5
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/IntSampleList.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7bac4fd3808df6247660dfb8d76e15609f279841
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Interface.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceProvidingRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceProvidingRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..33a997a1606acf7cb8a32921faeee1e5c809a0cb
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceProvidingRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceRequiringRole.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceRequiringRole.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InterfaceRequiringRole.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..498364f1c1ae0e61f26b0063dea3a1606959210e
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/InternalAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d3dc5a9ad8159548d5ada4a1cd545ec1d4de029c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Literal.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..caf2804510dc36959fb4e045e8af91d01229dcd7
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..30f0c48da8d4450f7e94a696c4de0a7cc41aa728
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/LoopIterationCountDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif
new file mode 100644
index 0000000000000000000000000000000000000000..35ef84e20e26f1cef1dcd7ae80d192fd40472368
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/NormalDistribution.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b3643da048a40135b62eed5100cac5afe1ecef3c
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityDensityFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ea58a657dc0c287f6bb84e6cbd38008c96713db3
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProbabilityMassFunction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidingDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidingDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53500daf98e17bc98acd04b14eb7b16938ceb4dd
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ProvidingDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RandomVariable.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif
new file mode 100644
index 0000000000000000000000000000000000000000..ed8747474012f8278002a9785026a1a40155b192
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ReleaseAction.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif
new file mode 100644
index 0000000000000000000000000000000000000000..cdd3b76e3c0b3318166d84292d8d9e2146a48aa1
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Repository.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif
new file mode 100644
index 0000000000000000000000000000000000000000..94c953e013baf5c1efe99489cbbf6fc39dd41341
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RepositoryComponent.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiringDelegationConnector.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiringDelegationConnector.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9250fecbffd185d174d53f6b7ea979f63ce222d2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/RequiringDelegationConnector.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemand.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemand.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResourceDemand.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTime.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTime.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d92f34c8aea721c98537ccb1f4da29bdee3b8912
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ResponseTime.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif
new file mode 100644
index 0000000000000000000000000000000000000000..904159880b359f157463f3cb9230da602e5b3d3a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Sample.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ScopeSet.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ScopeSet.gif
new file mode 100644
index 0000000000000000000000000000000000000000..83afb9b3c9a3c3e261dd043d2232d39254ac8e4a
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ScopeSet.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif
new file mode 100644
index 0000000000000000000000000000000000000000..5a9bc7514facefe049e8f5d98bb2e1e37f03c0c2
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Semaphore.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c4a8af418445186dec6bb4f750c13a832181fe76
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/ServiceInputParameter.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StartAction.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Signature.gif
similarity index 100%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/StartAction.gif
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/Signature.gif
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif
new file mode 100644
index 0000000000000000000000000000000000000000..10d222998af0a3a571390bae7e117c9964ec1562
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/SubSystem.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif
new file mode 100644
index 0000000000000000000000000000000000000000..89ad5da38ab3060f14ba925b1251bd5cb8454012
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/System.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif
new file mode 100644
index 0000000000000000000000000000000000000000..739ebbfa6ac7b44cc1632663c006f47e20f05127
Binary files /dev/null and b/edu.kit.ipd.descartes.mm.applicationlevel.edit/icons/full/obj16/UnaryBooleanExpression.gif differ
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
index d62c4c9d8c1e76ebade6dc99d737b397df34e4ff..bd23a016b524c078c48f1d5d35418bb09ea51558 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/plugin.properties
@@ -408,3 +408,68 @@ _UI_IntSampleList_items_feature = Items
 _UI_DoubleSampleList_items_feature = Items
 _UI_BoolSampleList_items_feature = Items
 _UI_EnumSampleList_items_feature = Items
+_UI_ControlFlowVariable_type = Control Flow Variable
+_UI_InfluencedVariableReference_type = Influenced Variable Reference
+_UI_ScopeSet_type = Scope Set
+_UI_Characterization_type = Characterization
+_UI_InterfaceRequiringRole_type = Interface Requiring Role
+_UI_InterfaceProvidingRole_type = Interface Providing Role
+_UI_ProvidingDelegationConnector_type = Providing Delegation Connector
+_UI_RequiringDelegationConnector_type = Requiring Delegation Connector
+_UI_ResourceDemand_type = Resource Demand
+_UI_ResponseTime_type = Response Time
+_UI_ModelVariable_scopeSet_feature = Scope Set
+_UI_InfluencedVariableReference_getInfluencedVariable_feature = Get Influenced Variable
+_UI_InfluencedVariableReference_controlFlowVariable_feature = Control Flow Variable
+_UI_InfluencedVariableReference_resourceDemand_feature = Resource Demand
+_UI_InfluencedVariableReference_responseTime_feature = Response Time
+_UI_DependencyRelationship_influencedVariableReference_feature = Influenced Variable Reference
+_UI_DependencyRelationship_influencingParameters_feature = Influencing Parameters
+_UI_DependencyRelationship_characterization_feature = Characterization
+_UI_CorrelationRelationship_sourceInfluencingParameters_feature = Source Influencing Parameters
+_UI_CorrelationRelationship_destInfluencingParameter_feature = Dest Influencing Parameter
+_UI_CorrelationRelationship_sourceComponentInstanceReferences_feature = Source Component Instance References
+_UI_CorrelationRelationship_destComponentInstanceReference_feature = Dest Component Instance Reference
+_UI_CorrelationRelationship_characterization_feature = Characterization
+_UI_ScopeSet_scope_feature = Scope
+_UI_Characterization_relationshipCharacterizationType_feature = Relationship Characterization Type
+_UI_Characterization_explicitFunction_feature = Explicit Function
+_UI_ServiceInputParameter_interfaceProvidingRole_feature = Interface Providing Role
+_UI_InterfaceProvidingEntity_interfaceProvidingRoles_feature = Interface Providing Roles
+_UI_InterfaceRequiringEntity_interfaceRequiringRoles_feature = Interface Requiring Roles
+_UI_InterfaceProvidingRequiringEntity_relationships_feature = Relationships
+_UI_InterfaceRequiringRole_interfaceRequiringEntity_feature = Interface Requiring Entity
+_UI_InterfaceRequiringRole_interface_feature = Interface
+_UI_InterfaceProvidingRole_interfaceProvidingEntity_feature = Interface Providing Entity
+_UI_InterfaceProvidingRole_interface_feature = Interface
+_UI_ComposedStructure_providingDelegationConnectors_feature = Providing Delegation Connectors
+_UI_ComposedStructure_requiringDelegationConnectors_feature = Requiring Delegation Connectors
+_UI_AssemblyConnector_interfaceRequiringRole_feature = Interface Requiring Role
+_UI_AssemblyConnector_interfaceProvidingRole_feature = Interface Providing Role
+_UI_ProvidingDelegationConnector_parentStructure_feature = Parent Structure
+_UI_ProvidingDelegationConnector_innerInterfaceProvidingRole_feature = Inner Interface Providing Role
+_UI_ProvidingDelegationConnector_outerInterfaceProvidingRole_feature = Outer Interface Providing Role
+_UI_RequiringDelegationConnector_parentStructure_feature = Parent Structure
+_UI_RequiringDelegationConnector_innerInterfaceRequiringRole_feature = Inner Interface Requiring Role
+_UI_RequiringDelegationConnector_outerInterfaceRequiringRole_feature = Outer Interface Requiring Role
+_UI_ServiceBehaviorAbstraction_influencedVariableReference_feature = Influenced Variable Reference
+_UI_ServiceBehaviorAbstraction_interfaceProvidingRole_feature = Interface Providing Role
+_UI_InternalAction_resourceDemand_feature = Resource Demand
+_UI_ExternalCall_interfaceRequiringRole_feature = Interface Requiring Role
+_UI_ResourceDemand_internalAction_feature = Internal Action
+_UI_ResourceDemand_coarseGrainedBehavior_feature = Coarse Grained Behavior
+_UI_CoarseGrainedBehavior_resourceDemand_feature = Resource Demand
+_UI_BlackBoxBehavior_responseTime_feature = Response Time
+_UI_ResponseTime_blackBoxBehavior_feature = Black Box Behavior
+_UI_RelationshipCharacterizationType_EMPIRICAL_literal = EMPIRICAL
+_UI_RelationshipCharacterizationType_EXPLICIT_literal = EXPLICIT
+_UI_RelationshipCharacterizationType_IDENTITY_literal = IDENTITY
+_UI_ParameterCharacterizationType_VALUE_literal = VALUE
+_UI_ParameterCharacterizationType_NUMBER_OF_ELEMENTS_literal = NUMBER_OF_ELEMENTS
+_UI_PrimitiveDataType_INT_literal = INT
+_UI_PrimitiveDataType_STRING_literal = STRING
+_UI_PrimitiveDataType_BOOL_literal = BOOL
+_UI_PrimitiveDataType_DOUBLE_literal = DOUBLE
+_UI_PrimitiveDataType_CHAR_literal = CHAR
+_UI_PrimitiveDataType_BYTE_literal = BYTE
+_UI_PrimitiveDataType_LONG_literal = LONG
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..5ab5adfbce58661228e3add47ed2f54466cf1eae
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/AtomItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.Atom} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AtomItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AtomItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Atom_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.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
new file mode 100644
index 0000000000000000000000000000000000000000..ccd5c297441d715976ab8ece84ffe82b6580c28f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BinaryBooleanExpressionItemProvider.java
@@ -0,0 +1,367 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanOperation;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.BinaryBooleanExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BinaryBooleanExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BinaryBooleanExpressionItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BinaryBooleanExpression_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BinaryBooleanExpression_operation_feature", "_UI_BinaryBooleanExpression_type"),
+				 FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__OPERATION,
+				 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(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT);
+		}
+		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 BinaryBooleanExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BinaryBooleanExpression"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BooleanOperation labelValue = ((BinaryBooleanExpression)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BinaryBooleanExpression_type") :
+			getString("_UI_BinaryBooleanExpression_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(BinaryBooleanExpression.class)) {
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__LEFT:
+			case FunctionsPackage.BINARY_BOOLEAN_EXPRESSION__RIGHT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__LEFT ||
+			childFeature == FunctionsPackage.Literals.BINARY_BOOLEAN_EXPRESSION__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6daa470880ace1d7b10e8f91f954c5ae288ccb88
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleItemProvider.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.BoolSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoolSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoolSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoolSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoolSample_value_feature", "_UI_BoolSample_type"),
+				 FunctionsPackage.Literals.BOOL_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BoolSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BoolSample_probability_feature", "_UI_BoolSample_type"),
+				 FunctionsPackage.Literals.BOOL_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BoolSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoolSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BoolSample boolSample = (BoolSample)object;
+		return getString("_UI_BoolSample_type") + " " + boolSample.isValue();
+	}
+
+	/**
+	 * 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(BoolSample.class)) {
+			case FunctionsPackage.BOOL_SAMPLE__VALUE:
+			case FunctionsPackage.BOOL_SAMPLE__PROBABILITY:
+				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/functions/provider/BoolSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..79763ec8d8c45af7b01575890ea5a9c25f7783fb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoolSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoolSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoolSampleListItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.BOOL_SAMPLE_LIST__ITEMS);
+		}
+		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 BoolSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoolSampleList"));
+	}
+
+	/**
+	 * 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_BoolSampleList_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BoolSampleList.class)) {
+			case FunctionsPackage.BOOL_SAMPLE_LIST__ITEMS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BOOL_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createBoolSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..b9d90a287f2103e92c86e8a1a60e9e0445926eb5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BooleanLiteralItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.BooleanLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BooleanLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BooleanLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BooleanLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BooleanLiteral_value_feature", "_UI_BooleanLiteral_type"),
+				 FunctionsPackage.Literals.BOOLEAN_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns BooleanLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BooleanLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BooleanLiteral booleanLiteral = (BooleanLiteral)object;
+		return getString("_UI_BooleanLiteral_type") + " " + booleanLiteral.isValue();
+	}
+
+	/**
+	 * 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(BooleanLiteral.class)) {
+			case FunctionsPackage.BOOLEAN_LITERAL__VALUE:
+				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/functions/provider/BoxedPDFItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoxedPDFItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf9f666b332dc4054d1448424fb75e25f0941910
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/BoxedPDFItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoxedPDFItemProvider
+	extends ProbabilityDensityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BoxedPDFItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.BOXED_PDF__SAMPLE);
+		}
+		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 BoxedPDF.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BoxedPDF"));
+	}
+
+	/**
+	 * 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_BoxedPDF_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BoxedPDF.class)) {
+			case FunctionsPackage.BOXED_PDF__SAMPLE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.BOXED_PDF__SAMPLE,
+				 FunctionsFactory.eINSTANCE.createContinuousSample()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..dd67e7e648d35f630a33701945220fa01a33a0ab
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ComparisonItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.CompareOperation;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.Comparison} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComparisonItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComparisonItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Comparison_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Comparison_operation_feature", "_UI_Comparison_type"),
+				 FunctionsPackage.Literals.COMPARISON__OPERATION,
+				 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(FunctionsPackage.Literals.COMPARISON__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.COMPARISON__RIGHT);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		CompareOperation labelValue = ((Comparison)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Comparison_type") :
+			getString("_UI_Comparison_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(Comparison.class)) {
+			case FunctionsPackage.COMPARISON__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.COMPARISON__LEFT:
+			case FunctionsPackage.COMPARISON__RIGHT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.COMPARISON__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.COMPARISON__LEFT ||
+			childFeature == FunctionsPackage.Literals.COMPARISON__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java
similarity index 86%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java
index 18c17785ff1a81bb258f1bfbdedf81bf77c4626c..c25c0bcff6a168b2f9e8fdad930ed3f66ffcd733 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StartActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousPDFItemProvider.java
@@ -1,7 +1,7 @@
 /**
  * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
  */
-package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
 
 
 import java.util.Collection;
@@ -18,13 +18,13 @@ 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.StartAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousPDF} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StartActionItemProvider
-	extends AbstractActionItemProvider
+public class ContinuousPDFItemProvider
+	extends ProbabilityDensityFunctionItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +37,7 @@ public class StartActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StartActionItemProvider(AdapterFactory adapterFactory) {
+	public ContinuousPDFItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -57,14 +57,14 @@ public class StartActionItemProvider
 	}
 
 	/**
-	 * This returns StartAction.gif.
+	 * This returns ContinuousPDF.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StartAction"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ContinuousPDF"));
 	}
 
 	/**
@@ -75,7 +75,7 @@ public class StartActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StartAction_type");
+		return getString("_UI_ContinuousPDF_type");
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8213947af9d8c8cef65883b84b53e1adb2687686
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ContinuousSampleItemProvider.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import java.math.BigDecimal;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuousSampleItemProvider
+	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 ContinuousSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ContinuousSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ContinuousSample_value_feature", "_UI_ContinuousSample_type"),
+				 FunctionsPackage.Literals.CONTINUOUS_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ContinuousSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ContinuousSample_probability_feature", "_UI_ContinuousSample_type"),
+				 FunctionsPackage.Literals.CONTINUOUS_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ContinuousSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ContinuousSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((ContinuousSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ContinuousSample_type") :
+			getString("_UI_ContinuousSample_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(ContinuousSample.class)) {
+			case FunctionsPackage.CONTINUOUS_SAMPLE__VALUE:
+			case FunctionsPackage.CONTINUOUS_SAMPLE__PROBABILITY:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b1d1d624ee738056c41be34f796f754a7795643
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleLiteralItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.functions.DoubleLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DoubleLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleLiteral_value_feature", "_UI_DoubleLiteral_type"),
+				 FunctionsPackage.Literals.DOUBLE_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DoubleLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((DoubleLiteral)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DoubleLiteral_type") :
+			getString("_UI_DoubleLiteral_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(DoubleLiteral.class)) {
+			case FunctionsPackage.DOUBLE_LITERAL__VALUE:
+				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/functions/provider/DoubleSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9a587bb5b0654fe9f8c4fb5c32b559fe597f175
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.functions.DoubleSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DoubleSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleSample_value_feature", "_UI_DoubleSample_type"),
+				 FunctionsPackage.Literals.DOUBLE_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DoubleSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DoubleSample_probability_feature", "_UI_DoubleSample_type"),
+				 FunctionsPackage.Literals.DOUBLE_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns DoubleSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((DoubleSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DoubleSample_type") :
+			getString("_UI_DoubleSample_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(DoubleSample.class)) {
+			case FunctionsPackage.DOUBLE_SAMPLE__VALUE:
+			case FunctionsPackage.DOUBLE_SAMPLE__PROBABILITY:
+				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/functions/provider/DoubleSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c5e107a72af1bd5f2701fd124b162345603762cb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/DoubleSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DoubleSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DoubleSampleListItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.DOUBLE_SAMPLE_LIST__ITEMS);
+		}
+		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 DoubleSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DoubleSampleList"));
+	}
+
+	/**
+	 * 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_DoubleSampleList_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(DoubleSampleList.class)) {
+			case FunctionsPackage.DOUBLE_SAMPLE_LIST__ITEMS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.DOUBLE_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createDoubleSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..0eba62d8cc2b103f7881e1b630a8911ae444f028
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EmpiricalFunctionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.EmpiricalFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EmpiricalFunctionItemProvider
+	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 EmpiricalFunctionItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_EmpiricalFunction_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/functions/provider/EnumSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..c0109e34d5ce510d11b38315364ff7184172d410
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleItemProvider.java
@@ -0,0 +1,168 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.EnumSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EnumSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EnumSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EnumSample_value_feature", "_UI_EnumSample_type"),
+				 FunctionsPackage.Literals.ENUM_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_EnumSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_EnumSample_probability_feature", "_UI_EnumSample_type"),
+				 FunctionsPackage.Literals.ENUM_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns EnumSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EnumSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((EnumSample)object).getValue();
+		return label == null || label.length() == 0 ?
+			getString("_UI_EnumSample_type") :
+			getString("_UI_EnumSample_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(EnumSample.class)) {
+			case FunctionsPackage.ENUM_SAMPLE__VALUE:
+			case FunctionsPackage.ENUM_SAMPLE__PROBABILITY:
+				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/functions/provider/EnumSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..53374d4a98d5351ce4a2b4ab5eed95631f6769eb
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/EnumSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EnumSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EnumSampleListItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.ENUM_SAMPLE_LIST__ITEMS);
+		}
+		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 EnumSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/EnumSampleList"));
+	}
+
+	/**
+	 * 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_EnumSampleList_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(EnumSampleList.class)) {
+			case FunctionsPackage.ENUM_SAMPLE_LIST__ITEMS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.ENUM_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createEnumSample()));
+	}
+
+}
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/functions/provider/ExplicitFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f17332f51fce903871499d79c524f073309a4e59
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExplicitFunctionItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExplicitFunctionItemProvider
+	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 ExplicitFunctionItemProvider(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);
+
+			addSpecificationPropertyDescriptor(object);
+			addExpressionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSpecificationPropertyDescriptor(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,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * 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.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitFunction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExplicitFunction)object).getSpecification();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExplicitFunction_type") :
+			getString("_UI_ExplicitFunction_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(ExplicitFunction.class)) {
+			case FunctionsPackage.EXPLICIT_FUNCTION__SPECIFICATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8a4568f8b9247de40723c679e28288381c4c6878
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExponentialDistributionItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+import java.math.BigDecimal;
+
+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.functions.ExponentialDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExponentialDistributionItemProvider
+	extends ContinuousPDFItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExponentialDistributionItemProvider(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);
+
+			addRatePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Rate feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRatePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExponentialDistribution_rate_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExponentialDistribution_rate_feature", "_UI_ExponentialDistribution_type"),
+				 FunctionsPackage.Literals.EXPONENTIAL_DISTRIBUTION__RATE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExponentialDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExponentialDistribution"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((ExponentialDistribution)object).getRate();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExponentialDistribution_type") :
+			getString("_UI_ExponentialDistribution_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(ExponentialDistribution.class)) {
+			case FunctionsPackage.EXPONENTIAL_DISTRIBUTION__RATE:
+				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/functions/provider/ExpressionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExpressionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e8cca165ecd931d5dbe3d3142c5d354b5116f816
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ExpressionItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.Expression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExpressionItemProvider
+	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 ExpressionItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Expression_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/functions/provider/FormalParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FormalParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ba97052f453b26aefd1372a304424cdafd591b3f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FormalParameterItemProvider.java
@@ -0,0 +1,144 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.FormalParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FormalParameterItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FormalParameterItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FormalParameter_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FormalParameter_value_feature", "_UI_FormalParameter_type"),
+				 FunctionsPackage.Literals.FORMAL_PARAMETER__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns FormalParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FormalParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((FormalParameter)object).getValue();
+		return label == null || label.length() == 0 ?
+			getString("_UI_FormalParameter_type") :
+			getString("_UI_FormalParameter_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(FormalParameter.class)) {
+			case FunctionsPackage.FORMAL_PARAMETER__VALUE:
+				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/functions/provider/FunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..24f4567fbfceb966a6e9c100dcf827fbe46fed77
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionItemProvider.java
@@ -0,0 +1,260 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Function;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+
+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.functions.Function} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionItemProvider
+	extends AtomItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FunctionItemProvider(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);
+		}
+		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_Function_name_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Function_name_feature", "_UI_Function_type"),
+				 FunctionsPackage.Literals.FUNCTION__NAME,
+				 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(FunctionsPackage.Literals.FUNCTION__PARAMETERS);
+		}
+		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 Function.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Function"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Function)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Function_type") :
+			getString("_UI_Function_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(Function.class)) {
+			case FunctionsPackage.FUNCTION__NAME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.FUNCTION__PARAMETERS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.FUNCTION__PARAMETERS,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..2140b9b0794d5900a4b71e5a87868d758bcd7212
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/FunctionsItemProviderAdapterFactory.java
@@ -0,0 +1,848 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.util.FunctionsAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FunctionsItemProviderAdapterFactory extends FunctionsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FunctionsItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExplicitFunctionItemProvider explicitFunctionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExplicitFunction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExplicitFunctionAdapter() {
+		if (explicitFunctionItemProvider == null) {
+			explicitFunctionItemProvider = new ExplicitFunctionItemProvider(this);
+		}
+
+		return explicitFunctionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Function} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FunctionItemProvider functionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Function}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFunctionAdapter() {
+		if (functionItemProvider == null) {
+			functionItemProvider = new FunctionItemProvider(this);
+		}
+
+		return functionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FormalParameterItemProvider formalParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.FormalParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFormalParameterAdapter() {
+		if (formalParameterItemProvider == null) {
+			formalParameterItemProvider = new FormalParameterItemProvider(this);
+		}
+
+		return formalParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BooleanLiteralItemProvider booleanLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BooleanLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBooleanLiteralAdapter() {
+		if (booleanLiteralItemProvider == null) {
+			booleanLiteralItemProvider = new BooleanLiteralItemProvider(this);
+		}
+
+		return booleanLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntLiteralItemProvider intLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntLiteralAdapter() {
+		if (intLiteralItemProvider == null) {
+			intLiteralItemProvider = new IntLiteralItemProvider(this);
+		}
+
+		return intLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleLiteralItemProvider doubleLiteralItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleLiteral}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleLiteralAdapter() {
+		if (doubleLiteralItemProvider == null) {
+			doubleLiteralItemProvider = new DoubleLiteralItemProvider(this);
+		}
+
+		return doubleLiteralItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IfElseExpressionItemProvider ifElseExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIfElseExpressionAdapter() {
+		if (ifElseExpressionItemProvider == null) {
+			ifElseExpressionItemProvider = new IfElseExpressionItemProvider(this);
+		}
+
+		return ifElseExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BinaryBooleanExpressionItemProvider binaryBooleanExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BinaryBooleanExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBinaryBooleanExpressionAdapter() {
+		if (binaryBooleanExpressionItemProvider == null) {
+			binaryBooleanExpressionItemProvider = new BinaryBooleanExpressionItemProvider(this);
+		}
+
+		return binaryBooleanExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected UnaryBooleanExpressionItemProvider unaryBooleanExpressionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createUnaryBooleanExpressionAdapter() {
+		if (unaryBooleanExpressionItemProvider == null) {
+			unaryBooleanExpressionItemProvider = new UnaryBooleanExpressionItemProvider(this);
+		}
+
+		return unaryBooleanExpressionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComparisonItemProvider comparisonItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Comparison}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComparisonAdapter() {
+		if (comparisonItemProvider == null) {
+			comparisonItemProvider = new ComparisonItemProvider(this);
+		}
+
+		return comparisonItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Term} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected TermItemProvider termItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Term}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createTermAdapter() {
+		if (termItemProvider == null) {
+			termItemProvider = new TermItemProvider(this);
+		}
+
+		return termItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Product} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProductItemProvider productItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Product}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProductAdapter() {
+		if (productItemProvider == null) {
+			productItemProvider = new ProductItemProvider(this);
+		}
+
+		return productItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Power} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected PowerItemProvider powerItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Power}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createPowerAdapter() {
+		if (powerItemProvider == null) {
+			powerItemProvider = new PowerItemProvider(this);
+		}
+
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RandomVariableItemProvider randomVariableItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRandomVariableAdapter() {
+		if (randomVariableItemProvider == null) {
+			randomVariableItemProvider = new RandomVariableItemProvider(this);
+		}
+
+		return randomVariableItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProbabilityMassFunctionItemProvider probabilityMassFunctionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProbabilityMassFunctionAdapter() {
+		if (probabilityMassFunctionItemProvider == null) {
+			probabilityMassFunctionItemProvider = new ProbabilityMassFunctionItemProvider(this);
+		}
+
+		return probabilityMassFunctionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleSampleItemProvider doubleSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleSampleAdapter() {
+		if (doubleSampleItemProvider == null) {
+			doubleSampleItemProvider = new DoubleSampleItemProvider(this);
+		}
+
+		return doubleSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntSampleItemProvider intSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntSampleAdapter() {
+		if (intSampleItemProvider == null) {
+			intSampleItemProvider = new IntSampleItemProvider(this);
+		}
+
+		return intSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoolSampleItemProvider boolSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoolSampleAdapter() {
+		if (boolSampleItemProvider == null) {
+			boolSampleItemProvider = new BoolSampleItemProvider(this);
+		}
+
+		return boolSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EnumSampleItemProvider enumSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEnumSampleAdapter() {
+		if (enumSampleItemProvider == null) {
+			enumSampleItemProvider = new EnumSampleItemProvider(this);
+		}
+
+		return enumSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IntSampleListItemProvider intSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createIntSampleListAdapter() {
+		if (intSampleListItemProvider == null) {
+			intSampleListItemProvider = new IntSampleListItemProvider(this);
+		}
+
+		return intSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DoubleSampleListItemProvider doubleSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.DoubleSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDoubleSampleListAdapter() {
+		if (doubleSampleListItemProvider == null) {
+			doubleSampleListItemProvider = new DoubleSampleListItemProvider(this);
+		}
+
+		return doubleSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoolSampleListItemProvider boolSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoolSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoolSampleListAdapter() {
+		if (boolSampleListItemProvider == null) {
+			boolSampleListItemProvider = new BoolSampleListItemProvider(this);
+		}
+
+		return boolSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected EnumSampleListItemProvider enumSampleListItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.EnumSampleList}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createEnumSampleListAdapter() {
+		if (enumSampleListItemProvider == null) {
+			enumSampleListItemProvider = new EnumSampleListItemProvider(this);
+		}
+
+		return enumSampleListItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BoxedPDFItemProvider boxedPDFItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.BoxedPDF}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBoxedPDFAdapter() {
+		if (boxedPDFItemProvider == null) {
+			boxedPDFItemProvider = new BoxedPDFItemProvider(this);
+		}
+
+		return boxedPDFItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ContinuousSampleItemProvider continuousSampleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ContinuousSample}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createContinuousSampleAdapter() {
+		if (continuousSampleItemProvider == null) {
+			continuousSampleItemProvider = new ContinuousSampleItemProvider(this);
+		}
+
+		return continuousSampleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected NormalDistributionItemProvider normalDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createNormalDistributionAdapter() {
+		if (normalDistributionItemProvider == null) {
+			normalDistributionItemProvider = new NormalDistributionItemProvider(this);
+		}
+
+		return normalDistributionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExponentialDistributionItemProvider exponentialDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ExponentialDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExponentialDistributionAdapter() {
+		if (exponentialDistributionItemProvider == null) {
+			exponentialDistributionItemProvider = new ExponentialDistributionItemProvider(this);
+		}
+
+		return exponentialDistributionItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (explicitFunctionItemProvider != null) explicitFunctionItemProvider.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();
+		if (comparisonItemProvider != null) comparisonItemProvider.dispose();
+		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 (probabilityMassFunctionItemProvider != null) probabilityMassFunctionItemProvider.dispose();
+		if (doubleSampleItemProvider != null) doubleSampleItemProvider.dispose();
+		if (intSampleItemProvider != null) intSampleItemProvider.dispose();
+		if (boolSampleItemProvider != null) boolSampleItemProvider.dispose();
+		if (enumSampleItemProvider != null) enumSampleItemProvider.dispose();
+		if (intSampleListItemProvider != null) intSampleListItemProvider.dispose();
+		if (doubleSampleListItemProvider != null) doubleSampleListItemProvider.dispose();
+		if (boolSampleListItemProvider != null) boolSampleListItemProvider.dispose();
+		if (enumSampleListItemProvider != null) enumSampleListItemProvider.dispose();
+		if (boxedPDFItemProvider != null) boxedPDFItemProvider.dispose();
+		if (continuousSampleItemProvider != null) continuousSampleItemProvider.dispose();
+		if (normalDistributionItemProvider != null) normalDistributionItemProvider.dispose();
+		if (exponentialDistributionItemProvider != null) exponentialDistributionItemProvider.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
new file mode 100644
index 0000000000000000000000000000000000000000..2ea8fab7592be27a2842707d5d816ee7f9afcc91
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IfElseExpressionItemProvider.java
@@ -0,0 +1,417 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IfElseExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IfElseExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IfElseExpressionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION);
+			childrenFeatures.add(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP);
+			childrenFeatures.add(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP);
+		}
+		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 IfElseExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IfElseExpression"));
+	}
+
+	/**
+	 * 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_IfElseExpression_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(IfElseExpression.class)) {
+			case FunctionsPackage.IF_ELSE_EXPRESSION__CONDITION:
+			case FunctionsPackage.IF_ELSE_EXPRESSION__TRUE_EXP:
+			case FunctionsPackage.IF_ELSE_EXPRESSION__FALSE_EXP:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__CONDITION ||
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__TRUE_EXP ||
+			childFeature == FunctionsPackage.Literals.IF_ELSE_EXPRESSION__FALSE_EXP;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ee752692c62bf3a1e15a2804eaeb14c123b8214
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntLiteralItemProvider.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral;
+
+import java.math.BigInteger;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntLiteral} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntLiteralItemProvider
+	extends LiteralItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntLiteralItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_IntLiteral_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntLiteral_value_feature", "_UI_IntLiteral_type"),
+				 FunctionsPackage.Literals.INT_LITERAL__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns IntLiteral.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntLiteral"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((IntLiteral)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_IntLiteral_type") :
+			getString("_UI_IntLiteral_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(IntLiteral.class)) {
+			case FunctionsPackage.INT_LITERAL__VALUE:
+				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/functions/provider/IntSampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..01602687dd956e7e8785cefe342b5fb4c47f9511
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample;
+
+import java.math.BigInteger;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntSampleItemProvider
+	extends SampleItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntSampleItemProvider(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);
+
+			addValuePropertyDescriptor(object);
+			addProbabilityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Value feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addValuePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_IntSample_value_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntSample_value_feature", "_UI_IntSample_type"),
+				 FunctionsPackage.Literals.INT_SAMPLE__VALUE,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Probability feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbabilityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_IntSample_probability_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_IntSample_probability_feature", "_UI_IntSample_type"),
+				 FunctionsPackage.Literals.INT_SAMPLE__PROBABILITY,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns IntSample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntSample"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigInteger labelValue = ((IntSample)object).getValue();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_IntSample_type") :
+			getString("_UI_IntSample_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(IntSample.class)) {
+			case FunctionsPackage.INT_SAMPLE__VALUE:
+			case FunctionsPackage.INT_SAMPLE__PROBABILITY:
+				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/functions/provider/IntSampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..15b54f41a2c449badb598848c7dac5d5c26d60c6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/IntSampleListItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.IntSampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class IntSampleListItemProvider
+	extends SampleListItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public IntSampleListItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.INT_SAMPLE_LIST__ITEMS);
+		}
+		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 IntSampleList.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/IntSampleList"));
+	}
+
+	/**
+	 * 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_IntSampleList_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(IntSampleList.class)) {
+			case FunctionsPackage.INT_SAMPLE_LIST__ITEMS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.INT_SAMPLE_LIST__ITEMS,
+				 FunctionsFactory.eINSTANCE.createIntSample()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
similarity index 87%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
index b31ea7086a9915353e12f91022eb199137b1db10..ff70ec262e4b0a68afb31946c32f97725248b852 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/StopActionItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/LiteralItemProvider.java
@@ -1,7 +1,7 @@
 /**
  * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
  */
-package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
 
 
 import java.util.Collection;
@@ -18,13 +18,13 @@ 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.StopAction} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Literal} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class StopActionItemProvider
-	extends AbstractActionItemProvider
+public class LiteralItemProvider
+	extends AtomItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -37,7 +37,7 @@ public class StopActionItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public StopActionItemProvider(AdapterFactory adapterFactory) {
+	public LiteralItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -57,14 +57,14 @@ public class StopActionItemProvider
 	}
 
 	/**
-	 * This returns StopAction.gif.
+	 * This returns Literal.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/StopAction"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Literal"));
 	}
 
 	/**
@@ -75,7 +75,7 @@ public class StopActionItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_StopAction_type");
+		return getString("_UI_Literal_type");
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d26bfc620a3e87b8c646d6ca0cfe5a5748aef9f0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/NormalDistributionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.NormalDistribution;
+
+import java.math.BigDecimal;
+
+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.functions.NormalDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NormalDistributionItemProvider
+	extends ContinuousPDFItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NormalDistributionItemProvider(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);
+
+			addMuPropertyDescriptor(object);
+			addSigmaPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Mu feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addMuPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NormalDistribution_mu_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NormalDistribution_mu_feature", "_UI_NormalDistribution_type"),
+				 FunctionsPackage.Literals.NORMAL_DISTRIBUTION__MU,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Sigma feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSigmaPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_NormalDistribution_sigma_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_NormalDistribution_sigma_feature", "_UI_NormalDistribution_type"),
+				 FunctionsPackage.Literals.NORMAL_DISTRIBUTION__SIGMA,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns NormalDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/NormalDistribution"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		BigDecimal labelValue = ((NormalDistribution)object).getMu();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_NormalDistribution_type") :
+			getString("_UI_NormalDistribution_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(NormalDistribution.class)) {
+			case FunctionsPackage.NORMAL_DISTRIBUTION__MU:
+			case FunctionsPackage.NORMAL_DISTRIBUTION__SIGMA:
+				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/functions/provider/PowerItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d080a898003f68aa4234dc9c2db18ca40bba1094
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/PowerItemProvider.java
@@ -0,0 +1,323 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Power;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.Power} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PowerItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public PowerItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.POWER__BASE);
+			childrenFeatures.add(FunctionsPackage.Literals.POWER__EXPONENT);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_Power_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(Power.class)) {
+			case FunctionsPackage.POWER__BASE:
+			case FunctionsPackage.POWER__EXPONENT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__BASE,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.POWER__EXPONENT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.POWER__BASE ||
+			childFeature == FunctionsPackage.Literals.POWER__EXPONENT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e04785d3f9d3cd4a24a498ff0eba6db598247b1a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityDensityFunctionItemProvider.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.ProbabilityDensityFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityDensityFunctionItemProvider
+	extends ProbabilityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityDensityFunctionItemProvider(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 ProbabilityDensityFunction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProbabilityDensityFunction"));
+	}
+
+	/**
+	 * 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_ProbabilityDensityFunction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..56b7a6cfc702e1187e70c08de9d129f909ffdfa1
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityFunctionItemProvider.java
@@ -0,0 +1,95 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.ProbabilityFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityFunctionItemProvider
+	extends AtomItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityFunctionItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ProbabilityFunction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bcc9ddbb4890e8843784300967fc619ef67df09d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProbabilityMassFunctionItemProvider.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.ProbabilityMassFunction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityMassFunctionItemProvider
+	extends ProbabilityFunctionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProbabilityMassFunctionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES);
+		}
+		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 ProbabilityMassFunction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProbabilityMassFunction"));
+	}
+
+	/**
+	 * 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_ProbabilityMassFunction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ProbabilityMassFunction.class)) {
+			case FunctionsPackage.PROBABILITY_MASS_FUNCTION__SAMPLES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createIntSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createDoubleSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createBoolSampleList()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PROBABILITY_MASS_FUNCTION__SAMPLES,
+				 FunctionsFactory.eINSTANCE.createEnumSampleList()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..ab3ba51eb96b9dda7a7884b738714ec1977b636b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/ProductItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Product;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.ProductOperation;
+
+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.functions.Product} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProductItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ProductItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Product_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Product_operation_feature", "_UI_Product_type"),
+				 FunctionsPackage.Literals.PRODUCT__OPERATION,
+				 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(FunctionsPackage.Literals.PRODUCT__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.PRODUCT__RIGHT);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ProductOperation labelValue = ((Product)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Product_type") :
+			getString("_UI_Product_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(Product.class)) {
+			case FunctionsPackage.PRODUCT__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.PRODUCT__LEFT:
+			case FunctionsPackage.PRODUCT__RIGHT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.PRODUCT__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.PRODUCT__LEFT ||
+			childFeature == FunctionsPackage.Literals.PRODUCT__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d78095a4066486e1722a635c2bbd1934794d3936
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/RandomVariableItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.RandomVariable;
+
+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.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.RandomVariable} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RandomVariableItemProvider
+	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 RandomVariableItemProvider(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);
+
+			addSpecificationPropertyDescriptor(object);
+			addProbFunctionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Specification feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSpecificationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RandomVariable_specification_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RandomVariable_specification_feature", "_UI_RandomVariable_type"),
+				 FunctionsPackage.Literals.RANDOM_VARIABLE__SPECIFICATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Prob Function feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProbFunctionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_RandomVariable_probFunction_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RandomVariable_probFunction_feature", "_UI_RandomVariable_type"),
+				 FunctionsPackage.Literals.RANDOM_VARIABLE__PROB_FUNCTION,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns RandomVariable.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RandomVariable"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RandomVariable)object).getSpecification();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RandomVariable_type") :
+			getString("_UI_RandomVariable_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(RandomVariable.class)) {
+			case FunctionsPackage.RANDOM_VARIABLE__SPECIFICATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6da79bf1b93ab0d462c6870faee385c82c76402
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleItemProvider.java
@@ -0,0 +1,122 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.Sample} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SampleItemProvider
+	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 SampleItemProvider(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 Sample.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Sample"));
+	}
+
+	/**
+	 * 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_Sample_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/functions/provider/SampleListItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleListItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..221cecfdc837daa8ff36bdbe135198b1e9494b20
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/SampleListItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+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.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.functions.SampleList} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SampleListItemProvider
+	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 SampleListItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_SampleList_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/functions/provider/TermItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..cefc607c3c6e0b5a07814ae8b84028571ca84fca
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/TermItemProvider.java
@@ -0,0 +1,356 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.Term;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.TermOperation;
+
+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.functions.Term} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TermItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public TermItemProvider(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);
+
+			addOperationPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Operation feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addOperationPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Term_operation_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Term_operation_feature", "_UI_Term_type"),
+				 FunctionsPackage.Literals.TERM__OPERATION,
+				 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(FunctionsPackage.Literals.TERM__LEFT);
+			childrenFeatures.add(FunctionsPackage.Literals.TERM__RIGHT);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		TermOperation labelValue = ((Term)object).getOperation();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Term_type") :
+			getString("_UI_Term_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(Term.class)) {
+			case FunctionsPackage.TERM__OPERATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case FunctionsPackage.TERM__LEFT:
+			case FunctionsPackage.TERM__RIGHT:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__LEFT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.TERM__RIGHT,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == FunctionsPackage.Literals.TERM__LEFT ||
+			childFeature == FunctionsPackage.Literals.TERM__RIGHT;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..35125743c02a4ab66f5520310784b965a75fa212
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/functions/provider/UnaryBooleanExpressionItemProvider.java
@@ -0,0 +1,229 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.functions.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.functions.UnaryBooleanExpression} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UnaryBooleanExpressionItemProvider
+	extends ExpressionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public UnaryBooleanExpressionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER);
+		}
+		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 UnaryBooleanExpression.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/UnaryBooleanExpression"));
+	}
+
+	/**
+	 * 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_UnaryBooleanExpression_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(UnaryBooleanExpression.class)) {
+			case FunctionsPackage.UNARY_BOOLEAN_EXPRESSION__INNER:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createFormalParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBooleanLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createIntLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createDoubleLiteral()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createIfElseExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBinaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createUnaryBooleanExpression()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createComparison()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createTerm()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createProduct()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createPower()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createProbabilityMassFunction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createBoxedPDF()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createNormalDistribution()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(FunctionsPackage.Literals.UNARY_BOOLEAN_EXPRESSION__INNER,
+				 FunctionsFactory.eINSTANCE.createExponentialDistribution()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..65a8345bb515b473f48a146825659f2365b7923b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CallParameterItemProvider.java
@@ -0,0 +1,202 @@
+/**
+ * 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.CallParameter;
+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.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.CallParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallParameterItemProvider
+	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 CallParameterItemProvider(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);
+
+			addCharacterizationPropertyDescriptor(object);
+			addSignaturePropertyDescriptor(object);
+			addParameterPropertyDescriptor(object);
+			addReturnTypePropertyDescriptor(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_CallParameter_characterization_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_characterization_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__CHARACTERIZATION,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameter_signature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_signature_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParameterPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameter_parameter_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_parameter_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__PARAMETER,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Return Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addReturnTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CallParameter_returnType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CallParameter_returnType_feature", "_UI_CallParameter_type"),
+				 ParameterdependenciesPackage.Literals.CALL_PARAMETER__RETURN_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CallParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CallParameter_type") :
+			getString("_UI_CallParameter_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(CallParameter.class)) {
+			case ParameterdependenciesPackage.CALL_PARAMETER__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
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/parameterdependencies/provider/CharacterizationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..151cd9a72438dde64da8120893cbfd8e31fab519
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CharacterizationItemProvider.java
@@ -0,0 +1,204 @@
+/**
+ * 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.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.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.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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CharacterizationItemProvider
+	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 CharacterizationItemProvider(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);
+
+			addRelationshipCharacterizationTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relationship Characterization Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationshipCharacterizationTypePropertyDescriptor(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,
+				 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.CHARACTERIZATION__EXPLICIT_FUNCTION);
+		}
+		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 Characterization.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Characterization"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		RelationshipCharacterizationType labelValue = ((Characterization)object).getRelationshipCharacterizationType();
+		String label = labelValue == null ? null : labelValue.toString();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Characterization_type") :
+			getString("_UI_Characterization_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(Characterization.class)) {
+			case ParameterdependenciesPackage.CHARACTERIZATION__RELATIONSHIP_CHARACTERIZATION_TYPE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ParameterdependenciesPackage.CHARACTERIZATION__EXPLICIT_FUNCTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CHARACTERIZATION__EXPLICIT_FUNCTION,
+				 FunctionsFactory.eINSTANCE.createExplicitFunction()));
+	}
+
+	/**
+	 * 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/ComponentInstanceReferenceItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ComponentInstanceReferenceItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4f2e025ce409a7fde30eb1dab1461ed224b3168c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ComponentInstanceReferenceItemProvider.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.ComponentInstanceReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentInstanceReferenceItemProvider
+	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 ComponentInstanceReferenceItemProvider(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);
+
+			addAssembliesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Assemblies feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAssembliesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ComponentInstanceReference_assemblies_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ComponentInstanceReference_assemblies_feature", "_UI_ComponentInstanceReference_type"),
+				 ParameterdependenciesPackage.Literals.COMPONENT_INSTANCE_REFERENCE__ASSEMBLIES,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ComponentInstanceReference.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentInstanceReference"));
+	}
+
+	/**
+	 * 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_ComponentInstanceReference_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/ControlFlowSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
similarity index 90%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowSpecificationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
index 5e8f0c2b3df1a0b9f2fec8f0d7a9f4e6ad471468..014eacbeb18cd1009a1cb10464f38a7c9c9c2952 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowSpecificationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ControlFlowVariableItemProvider.java
@@ -18,12 +18,12 @@ 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.parameterdependencies.ControlFlowSpecification} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ControlFlowVariable} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ControlFlowSpecificationItemProvider
+public class ControlFlowVariableItemProvider
 	extends ModelVariableItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -37,7 +37,7 @@ public class ControlFlowSpecificationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ControlFlowSpecificationItemProvider(AdapterFactory adapterFactory) {
+	public ControlFlowVariableItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -64,7 +64,7 @@ public class ControlFlowSpecificationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ControlFlowSpecification_type");
+		return getString("_UI_ControlFlowVariable_type");
 	}
 
 	/**
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
new file mode 100644
index 0000000000000000000000000000000000000000..bfed2a0007772463add36d18631df5599b017915
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/CorrelationRelationshipItemProvider.java
@@ -0,0 +1,238 @@
+/**
+ * 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.CorrelationRelationship;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CorrelationRelationshipItemProvider
+	extends RelationshipItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CorrelationRelationshipItemProvider(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);
+
+			addSourceInfluencingParametersPropertyDescriptor(object);
+			addDestInfluencingParameterPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Source Influencing Parameters feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSourceInfluencingParametersPropertyDescriptor(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,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Dest Influencing Parameter feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDestInfluencingParameterPropertyDescriptor(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,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(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);
+		}
+		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 CorrelationRelationship.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CorrelationRelationship"));
+	}
+
+	/**
+	 * 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_CorrelationRelationship_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CorrelationRelationship.class)) {
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE:
+			case ParameterdependenciesPackage.CORRELATION_RELATIONSHIP__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES,
+				 ParameterdependenciesFactory.eINSTANCE.createComponentInstanceReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE,
+				 ParameterdependenciesFactory.eINSTANCE.createComponentInstanceReference()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__CHARACTERIZATION,
+				 ParameterdependenciesFactory.eINSTANCE.createCharacterization()));
+	}
+
+	/**
+	 * This returns the label text for {@link org.eclipse.emf.edit.command.CreateChildCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getCreateChildText(Object owner, Object feature, Object child, Collection<?> selection) {
+		Object childFeature = feature;
+		Object childObject = child;
+
+		boolean qualify =
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__SOURCE_COMPONENT_INSTANCE_REFERENCES ||
+			childFeature == ParameterdependenciesPackage.Literals.CORRELATION_RELATIONSHIP__DEST_COMPONENT_INSTANCE_REFERENCE;
+
+		if (qualify) {
+			return getString
+				("_UI_CreateChild_text2",
+				 new Object[] { getTypeText(childObject), getFeatureText(childFeature), getTypeText(owner) });
+		}
+		return super.getCreateChildText(owner, feature, child, selection);
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..2ce9b753211a662a6e6ae1676bbbf1ebb8d476bd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/DependencyRelationshipItemProvider.java
@@ -0,0 +1,201 @@
+/**
+ * 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.DependencyRelationship;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesFactory;
+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.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DependencyRelationshipItemProvider
+	extends RelationshipItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DependencyRelationshipItemProvider(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);
+
+			addInfluencedVariableReferencePropertyDescriptor(object);
+			addInfluencingParametersPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Influenced Variable Reference feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInfluencedVariableReferencePropertyDescriptor(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,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Influencing Parameters feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInfluencingParametersPropertyDescriptor(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,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/DependencyRelationship"));
+	}
+
+	/**
+	 * 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_DependencyRelationship_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(DependencyRelationship.class)) {
+			case ParameterdependenciesPackage.DEPENDENCY_RELATIONSHIP__CHARACTERIZATION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(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
new file mode 100644
index 0000000000000000000000000000000000000000..f13a3224a66e5abe0df0588591265b1d7cb1203c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * 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.ExternalCallParameter;
+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.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallParameterItemProvider(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);
+
+			addExternallCallPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Externall Call feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addExternallCallPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCallParameter_externallCall_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCallParameter_externallCall_feature", "_UI_ExternalCallParameter_type"),
+				 ParameterdependenciesPackage.Literals.EXTERNAL_CALL_PARAMETER__EXTERNALL_CALL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCallParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExternalCallParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExternalCallParameter_type") :
+			getString("_UI_ExternalCallParameter_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);
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..fa4df0c8bd1d66c02b3152f1cfe291289a746891
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExternalCallReturnParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * 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.ExternalCallReturnParameter;
+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.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallReturnParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallReturnParameterItemProvider(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);
+
+			addExternalCallPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the External Call feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addExternalCallPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ExternalCallReturnParameter_externalCall_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ExternalCallReturnParameter_externalCall_feature", "_UI_ExternalCallReturnParameter_type"),
+				 ParameterdependenciesPackage.Literals.EXTERNAL_CALL_RETURN_PARAMETER__EXTERNAL_CALL,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ExternalCallReturnParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallReturnParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ExternalCallReturnParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ExternalCallReturnParameter_type") :
+			getString("_UI_ExternalCallReturnParameter_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);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableReferenceItemProvider.java
similarity index 65%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableReferenceItemProvider.java
index 6f7e559c681f27368724cc0c0df60c2421031f22..54fcf5fa984bb29af7724f5e186f829f6bdcf969 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencedVariableReferenceItemProvider.java
@@ -6,12 +6,16 @@ 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;
@@ -19,15 +23,16 @@ 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.InfluencedVariable} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencedVariableReference} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class InfluencedVariableItemProvider
-	extends ModelVariableItemProvider
+public class InfluencedVariableReferenceItemProvider
+	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -40,7 +45,7 @@ public class InfluencedVariableItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public InfluencedVariableItemProvider(AdapterFactory adapterFactory) {
+	public InfluencedVariableReferenceItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -55,6 +60,7 @@ public class InfluencedVariableItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
+			addGetInfluencedVariablePropertyDescriptor(object);
 			addControlFlowVariablePropertyDescriptor(object);
 			addResourceDemandPropertyDescriptor(object);
 			addResponseTimePropertyDescriptor(object);
@@ -62,6 +68,28 @@ public class InfluencedVariableItemProvider
 		return itemPropertyDescriptors;
 	}
 
+	/**
+	 * This adds a property descriptor for the Get Influenced Variable feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addGetInfluencedVariablePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencedVariableReference_getInfluencedVariable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariableReference_getInfluencedVariable_feature", "_UI_InfluencedVariableReference_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE_REFERENCE__GET_INFLUENCED_VARIABLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
 	/**
 	 * This adds a property descriptor for the Control Flow Variable feature.
 	 * <!-- begin-user-doc -->
@@ -73,9 +101,9 @@ public class InfluencedVariableItemProvider
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_InfluencedVariable_controlFlowVariable_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_controlFlowVariable_feature", "_UI_InfluencedVariable_type"),
-				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__CONTROL_FLOW_VARIABLE,
+				 getString("_UI_InfluencedVariableReference_controlFlowVariable_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariableReference_controlFlowVariable_feature", "_UI_InfluencedVariableReference_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE_REFERENCE__CONTROL_FLOW_VARIABLE,
 				 true,
 				 false,
 				 true,
@@ -95,9 +123,9 @@ public class InfluencedVariableItemProvider
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_InfluencedVariable_resourceDemand_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_resourceDemand_feature", "_UI_InfluencedVariable_type"),
-				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__RESOURCE_DEMAND,
+				 getString("_UI_InfluencedVariableReference_resourceDemand_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariableReference_resourceDemand_feature", "_UI_InfluencedVariableReference_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE_REFERENCE__RESOURCE_DEMAND,
 				 true,
 				 false,
 				 true,
@@ -117,9 +145,9 @@ public class InfluencedVariableItemProvider
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_InfluencedVariable_responseTime_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariable_responseTime_feature", "_UI_InfluencedVariable_type"),
-				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE__RESPONSE_TIME,
+				 getString("_UI_InfluencedVariableReference_responseTime_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencedVariableReference_responseTime_feature", "_UI_InfluencedVariableReference_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCED_VARIABLE_REFERENCE__RESPONSE_TIME,
 				 true,
 				 false,
 				 true,
@@ -129,14 +157,14 @@ public class InfluencedVariableItemProvider
 	}
 
 	/**
-	 * This returns InfluencedVariable.gif.
+	 * This returns InfluencedVariableReference.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/InfluencedVariable"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InfluencedVariableReference"));
 	}
 
 	/**
@@ -147,7 +175,7 @@ public class InfluencedVariableItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_InfluencedVariable_type");
+		return getString("_UI_InfluencedVariableReference_type");
 	}
 
 	/**
@@ -175,4 +203,15 @@ public class InfluencedVariableItemProvider
 		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/InfluencingParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..7cf56ef097a913e612be0d74c34c9414afbf83a6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/InfluencingParameterItemProvider.java
@@ -0,0 +1,191 @@
+/**
+ * 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.InfluencingParameter;
+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.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.InfluencingParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InfluencingParameterItemProvider
+	extends ModelVariableItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InfluencingParameterItemProvider(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);
+
+			addBehaviorPropertyDescriptor(object);
+			addNamePropertyDescriptor(object);
+			addDescriptionPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Behavior feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBehaviorPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InfluencingParameter_behavior_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InfluencingParameter_behavior_feature", "_UI_InfluencingParameter_type"),
+				 ParameterdependenciesPackage.Literals.INFLUENCING_PARAMETER__BEHAVIOR,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InfluencingParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@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;
+	}
+
+	/**
+	 * 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(InfluencingParameter.class)) {
+			case ParameterdependenciesPackage.INFLUENCING_PARAMETER__NAME:
+			case ParameterdependenciesPackage.INFLUENCING_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/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
similarity index 80%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
index 9e9d0c20fe458f790e6a8a31e1b1453e47143f2f..6f8bfbf3264158047829635c1a61ea79ce1f76e3 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ExplicitCharacterizationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ModelVariableItemProvider.java
@@ -4,9 +4,8 @@
 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.ExplicitCharacterization;
+import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariable;
+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.provider.ApplicationlevelEditPlugin;
@@ -31,12 +30,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.ExplicitCharacterization} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ModelVariable} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ExplicitCharacterizationItemProvider
+public class ModelVariableItemProvider
 	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
@@ -50,7 +49,7 @@ public class ExplicitCharacterizationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ExplicitCharacterizationItemProvider(AdapterFactory adapterFactory) {
+	public ModelVariableItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -81,7 +80,7 @@ public class ExplicitCharacterizationItemProvider
 	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
-			childrenFeatures.add(ParameterdependenciesPackage.Literals.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION);
+			childrenFeatures.add(ParameterdependenciesPackage.Literals.MODEL_VARIABLE__SCOPE_SET);
 		}
 		return childrenFeatures;
 	}
@@ -99,17 +98,6 @@ public class ExplicitCharacterizationItemProvider
 		return super.getChildFeature(object, child);
 	}
 
-	/**
-	 * This returns ExplicitCharacterization.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExplicitCharacterization"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -118,7 +106,7 @@ public class ExplicitCharacterizationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ExplicitCharacterization_type");
+		return getString("_UI_ModelVariable_type");
 	}
 
 	/**
@@ -132,8 +120,8 @@ public class ExplicitCharacterizationItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(ExplicitCharacterization.class)) {
-			case ParameterdependenciesPackage.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION:
+		switch (notification.getFeatureID(ModelVariable.class)) {
+			case ParameterdependenciesPackage.MODEL_VARIABLE__SCOPE_SET:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
 		}
@@ -153,8 +141,8 @@ public class ExplicitCharacterizationItemProvider
 
 		newChildDescriptors.add
 			(createChildParameter
-				(ParameterdependenciesPackage.Literals.EXPLICIT_CHARACTERIZATION__EXPLICIT_FUNCTION,
-				 FunctionsFactory.eINSTANCE.createExplicitFunction()));
+				(ParameterdependenciesPackage.Literals.MODEL_VARIABLE__SCOPE_SET,
+				 ParameterdependenciesFactory.eINSTANCE.createScopeSet()));
 	}
 
 	/**
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
new file mode 100644
index 0000000000000000000000000000000000000000..c11fe66c465af20af090c2b3e3ec47c468550330
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ParameterdependenciesItemProviderAdapterFactory.java
@@ -0,0 +1,416 @@
+/**
+ * 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.util.ParameterdependenciesAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterdependenciesItemProviderAdapterFactory extends ParameterdependenciesAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ParameterdependenciesItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencedVariableReference} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InfluencedVariableReferenceItemProvider influencedVariableReferenceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencedVariableReference}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInfluencedVariableReferenceAdapter() {
+		if (influencedVariableReferenceItemProvider == null) {
+			influencedVariableReferenceItemProvider = new InfluencedVariableReferenceItemProvider(this);
+		}
+
+		return influencedVariableReferenceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InfluencingParameterItemProvider influencingParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.InfluencingParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInfluencingParameterAdapter() {
+		if (influencingParameterItemProvider == null) {
+			influencingParameterItemProvider = new InfluencingParameterItemProvider(this);
+		}
+
+		return influencingParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected DependencyRelationshipItemProvider dependencyRelationshipItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.DependencyRelationship}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createDependencyRelationshipAdapter() {
+		if (dependencyRelationshipItemProvider == null) {
+			dependencyRelationshipItemProvider = new DependencyRelationshipItemProvider(this);
+		}
+
+		return dependencyRelationshipItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CorrelationRelationshipItemProvider correlationRelationshipItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.CorrelationRelationship}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCorrelationRelationshipAdapter() {
+		if (correlationRelationshipItemProvider == null) {
+			correlationRelationshipItemProvider = new CorrelationRelationshipItemProvider(this);
+		}
+
+		return correlationRelationshipItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ComponentInstanceReference} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentInstanceReferenceItemProvider componentInstanceReferenceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ComponentInstanceReference}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComponentInstanceReferenceAdapter() {
+		if (componentInstanceReferenceItemProvider == null) {
+			componentInstanceReferenceItemProvider = new ComponentInstanceReferenceItemProvider(this);
+		}
+
+		return componentInstanceReferenceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ScopeSet} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ScopeSetItemProvider scopeSetItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ScopeSet}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createScopeSetAdapter() {
+		if (scopeSetItemProvider == null) {
+			scopeSetItemProvider = new ScopeSetItemProvider(this);
+		}
+
+		return scopeSetItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CharacterizationItemProvider characterizationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.Characterization}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCharacterizationAdapter() {
+		if (characterizationItemProvider == null) {
+			characterizationItemProvider = new CharacterizationItemProvider(this);
+		}
+
+		return characterizationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ServiceInputParameterItemProvider serviceInputParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createServiceInputParameterAdapter() {
+		if (serviceInputParameterItemProvider == null) {
+			serviceInputParameterItemProvider = new ServiceInputParameterItemProvider(this);
+		}
+
+		return serviceInputParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallReturnParameterItemProvider externalCallReturnParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallReturnParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallReturnParameterAdapter() {
+		if (externalCallReturnParameterItemProvider == null) {
+			externalCallReturnParameterItemProvider = new ExternalCallReturnParameterItemProvider(this);
+		}
+
+		return externalCallReturnParameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallParameterItemProvider externalCallParameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ExternalCallParameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallParameterAdapter() {
+		if (externalCallParameterItemProvider == null) {
+			externalCallParameterItemProvider = new ExternalCallParameterItemProvider(this);
+		}
+
+		return externalCallParameterItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (influencedVariableReferenceItemProvider != null) influencedVariableReferenceItemProvider.dispose();
+		if (influencingParameterItemProvider != null) influencingParameterItemProvider.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
new file mode 100644
index 0000000000000000000000000000000000000000..2567ac0d543cdce81158e1adb0ff411d238365ed
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/RelationshipItemProvider.java
@@ -0,0 +1,137 @@
+/**
+ * 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.Relationship} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RelationshipItemProvider
+	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 RelationshipItemProvider(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);
+
+			addSurroundingEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Surrounding Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSurroundingEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Relationship_surroundingEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Relationship_surroundingEntity_feature", "_UI_Relationship_type"),
+				 ParameterdependenciesPackage.Literals.RELATIONSHIP__SURROUNDING_ENTITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * 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_Relationship_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/ScopeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeSetItemProvider.java
similarity index 82%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ScopeSetItemProvider.java
index eada855b19a9068a11f5b3179c0248ccbb6190cf..c7b461178ea33d76e3eb44b27436b0c7578f4168 100644
--- 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/ScopeSetItemProvider.java
@@ -26,12 +26,12 @@ 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.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ScopeSet} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ScopeItemProvider
+public class ScopeSetItemProvider
 	extends ItemProviderAdapter
 	implements
 		IEditingDomainItemProvider,
@@ -45,7 +45,7 @@ public class ScopeItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ScopeItemProvider(AdapterFactory adapterFactory) {
+	public ScopeSetItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -60,25 +60,25 @@ public class ScopeItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addInterfaceProvidingRequiringEntityPropertyDescriptor(object);
+			addScopePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Interface Providing Requiring Entity feature.
+	 * This adds a property descriptor for the Scope feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInterfaceProvidingRequiringEntityPropertyDescriptor(Object object) {
+	protected void addScopePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_Scope_interfaceProvidingRequiringEntity_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_Scope_interfaceProvidingRequiringEntity_feature", "_UI_Scope_type"),
-				 ParameterdependenciesPackage.Literals.SCOPE__INTERFACE_PROVIDING_REQUIRING_ENTITY,
+				 getString("_UI_ScopeSet_scope_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ScopeSet_scope_feature", "_UI_ScopeSet_type"),
+				 ParameterdependenciesPackage.Literals.SCOPE_SET__SCOPE,
 				 true,
 				 false,
 				 true,
@@ -88,14 +88,14 @@ public class ScopeItemProvider
 	}
 
 	/**
-	 * This returns Scope.gif.
+	 * This returns ScopeSet.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Scope"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ScopeSet"));
 	}
 
 	/**
@@ -106,7 +106,7 @@ public class ScopeItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_Scope_type");
+		return getString("_UI_ScopeSet_type");
 	}
 
 	/**
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
new file mode 100644
index 0000000000000000000000000000000000000000..9bc1e23e027685da37e5ecfdac66af3cfa35b45b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/ServiceInputParameterItemProvider.java
@@ -0,0 +1,136 @@
+/**
+ * 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.ServiceInputParameter;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ServiceInputParameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServiceInputParameterItemProvider
+	extends CallParameterItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServiceInputParameterItemProvider(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);
+
+			addInterfaceProvidingRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface Providing Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfaceProvidingRolePropertyDescriptor(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,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ServiceInputParameter.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ServiceInputParameter"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ServiceInputParameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ServiceInputParameter_type") :
+			getString("_UI_ServiceInputParameter_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);
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..5613ed1190ce7d53729c06e9e086264f1349ba83
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/provider/ApplicationlevelEditPlugin.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.provider;
+
+import edu.kit.ipd.descartes.core.provider.CoreEditPlugin;
+
+import edu.kit.ipd.descartes.identifier.provider.IdentifierEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Applicationlevel edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class ApplicationlevelEditPlugin extends EMFPlugin {
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static final ApplicationlevelEditPlugin INSTANCE = new ApplicationlevelEditPlugin();
+
+	/**
+	 * Keep track of the singleton.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private static Implementation plugin;
+
+	/**
+	 * Create the instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ApplicationlevelEditPlugin() {
+		super
+		  (new ResourceLocator [] {
+		     CoreEditPlugin.INSTANCE,
+		     IdentifierEditPlugin.INSTANCE,
+		   });
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getPluginResourceLocator() {
+		return plugin;
+	}
+
+	/**
+	 * Returns the singleton instance of the Eclipse plugin.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the singleton instance.
+	 * @generated
+	 */
+	public static Implementation getPlugin() {
+		return plugin;
+	}
+
+	/**
+	 * The actual implementation of the Eclipse <b>Plugin</b>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public static class Implementation extends EclipsePlugin {
+		/**
+		 * Creates an instance.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		public Implementation() {
+			super();
+
+			// Remember the static instance.
+			//
+			plugin = this;
+		}
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e53b489408013f16cf479aee1844283e0d13a594
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyConnectorItemProvider.java
@@ -0,0 +1,222 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.ConnectorItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssemblyConnectorItemProvider
+	extends ConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AssemblyConnectorItemProvider(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);
+
+			addInterfaceRequiringRolePropertyDescriptor(object);
+			addInterfaceProvidingRolePropertyDescriptor(object);
+			addProvidingAssemblyContextPropertyDescriptor(object);
+			addRequiringAssemblyContextPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * 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_AssemblyConnector_interfaceRequiringRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_interfaceRequiringRole_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__INTERFACE_REQUIRING_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface Providing Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfaceProvidingRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_interfaceProvidingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_interfaceProvidingRole_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__INTERFACE_PROVIDING_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Providing Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addProvidingAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_providingAssemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_providingAssemblyContext_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__PROVIDING_ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Requiring Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRequiringAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyConnector_requiringAssemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyConnector_requiringAssemblyContext_feature", "_UI_AssemblyConnector_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONNECTOR__REQUIRING_ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AssemblyConnector.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AssemblyConnector"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AssemblyConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AssemblyConnector_type") :
+			getString("_UI_AssemblyConnector_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/repository/provider/AssemblyContextItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyContextItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2647230fdee7a3ee51a79024282d11355a36f7b4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/AssemblyContextItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.AssemblyContext;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AssemblyContextItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AssemblyContextItemProvider(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);
+
+			addEncapsulatedComponentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Encapsulated Component feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEncapsulatedComponentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AssemblyContext_encapsulatedComponent_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AssemblyContext_encapsulatedComponent_feature", "_UI_AssemblyContext_type"),
+				 RepositoryPackage.Literals.ASSEMBLY_CONTEXT__ENCAPSULATED_COMPONENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AssemblyContext.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AssemblyContext"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((AssemblyContext)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_AssemblyContext_type") :
+			getString("_UI_AssemblyContext_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/repository/provider/BasicComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb6a388717586687f50d0aa73871bf640de8d43e
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/BasicComponentItemProvider.java
@@ -0,0 +1,166 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BasicComponentItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BasicComponentItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__SEMAPHORES);
+			childrenFeatures.add(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns BasicComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BasicComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((BasicComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_BasicComponent_type") :
+			getString("_UI_BasicComponent_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(BasicComponent.class)) {
+			case RepositoryPackage.BASIC_COMPONENT__SEMAPHORES:
+			case RepositoryPackage.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.BASIC_COMPONENT__SEMAPHORES,
+				 RepositoryFactory.eINSTANCE.createSemaphore()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.BASIC_COMPONENT__FINE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createFineGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..27ca49af14b65f715f628eaac4f06fb202dcfb51
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CollectionDataTypeItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.CollectionDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CollectionDataTypeItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CollectionDataTypeItemProvider(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);
+
+			addInnerTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Inner Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInnerTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CollectionDataType_innerType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CollectionDataType_innerType_feature", "_UI_CollectionDataType_type"),
+				 RepositoryPackage.Literals.COLLECTION_DATA_TYPE__INNER_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns CollectionDataType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CollectionDataType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CollectionDataType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CollectionDataType_type") :
+			getString("_UI_CollectionDataType_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/repository/provider/ComposedProvidingRequiringEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedProvidingRequiringEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4114d7306165654154d1bf31f97a72e0dd0fb9a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedProvidingRequiringEntityItemProvider.java
@@ -0,0 +1,193 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ComposedProvidingRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ComposedProvidingRequiringEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComposedProvidingRequiringEntityItemProvider
+	extends ComposedStructureItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposedProvidingRequiringEntityItemProvider(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);
+
+			addRelationshipsPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relationships feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationshipsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InterfaceProvidingRequiringEntity_relationships_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceProvidingRequiringEntity_relationships_feature", "_UI_InterfaceProvidingRequiringEntity_type"),
+				 RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__RELATIONSHIPS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__INTERFACE_PROVIDING_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ComposedProvidingRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ComposedProvidingRequiringEntity_type") :
+			getString("_UI_ComposedProvidingRequiringEntity_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(ComposedProvidingRequiringEntity.class)) {
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__INTERFACE_PROVIDING_ROLES:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__BLACK_BOX_BEHAVIOR:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES:
+			case RepositoryPackage.COMPOSED_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__INTERFACE_PROVIDING_ROLES,
+				 RepositoryFactory.eINSTANCE.createInterfaceProvidingRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createBlackBoxBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES,
+				 RepositoryFactory.eINSTANCE.createInterfaceRequiringRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createCoarseGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1a3f910ab3590fa72dacd81708521c499dc19530
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ComposedStructureItemProvider.java
@@ -0,0 +1,184 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.ComposedStructure;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ComposedStructure} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComposedStructureItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposedStructureItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((ComposedStructure)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_ComposedStructure_type") :
+			getString("_UI_ComposedStructure_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(ComposedStructure.class)) {
+			case RepositoryPackage.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS:
+			case RepositoryPackage.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidingDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiringDelegationConnector()));
+	}
+
+	/**
+	 * 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/repository/provider/CompositeComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e911d8a41b04c0ce13b076e328e987ade7eb25ed
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeComponentItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompositeComponentItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CompositeComponentItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS);
+		}
+		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 CompositeComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CompositeComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CompositeComponent_type") :
+			getString("_UI_CompositeComponent_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(CompositeComponent.class)) {
+			case RepositoryPackage.COMPOSITE_COMPONENT__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__PROVIDING_DELEGATION_CONNECTORS:
+			case RepositoryPackage.COMPOSITE_COMPONENT__REQUIRING_DELEGATION_CONNECTORS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidingDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiringDelegationConnector()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..142292c9e3de595760a501ddceef857db17717dc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/CompositeDataTypeItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.CompositeDataType;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CompositeDataTypeItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CompositeDataTypeItemProvider(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);
+
+			addParentTypesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Parent Types feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParentTypesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CompositeDataType_parentTypes_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CompositeDataType_parentTypes_feature", "_UI_CompositeDataType_type"),
+				 RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__PARENT_TYPES,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS);
+		}
+		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 CompositeDataType.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CompositeDataType"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((CompositeDataType)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_CompositeDataType_type") :
+			getString("_UI_CompositeDataType_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(CompositeDataType.class)) {
+			case RepositoryPackage.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSITE_DATA_TYPE__INNER_DECLARATIONS,
+				 RepositoryFactory.eINSTANCE.createInnerDeclaration()));
+	}
+
+	/**
+	 * 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/repository/provider/DataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DataTypeItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1d0f58880959df72ad19a3433f0dba6283e23b8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DataTypeItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.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.repository.DataType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataTypeItemProvider
+	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 DataTypeItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_DataType_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/repository/provider/DelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DelegationConnectorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..df4b62bcba5c3c925b5f2238f3b4c4b4c298bd5a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/DelegationConnectorItemProvider.java
@@ -0,0 +1,142 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.ConnectorItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.DelegationConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.DelegationConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DelegationConnectorItemProvider
+	extends ConnectorItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public DelegationConnectorItemProvider(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);
+
+			addAssemblyContextPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Assembly Context feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addAssemblyContextPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_DelegationConnector_assemblyContext_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_DelegationConnector_assemblyContext_feature", "_UI_DelegationConnector_type"),
+				 RepositoryPackage.Literals.DELEGATION_CONNECTOR__ASSEMBLY_CONTEXT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((DelegationConnector)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_DelegationConnector_type") :
+			getString("_UI_DelegationConnector_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/repository/provider/ImportItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ImportItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..78e27d59148596f670863cbbaba8288ef4f7f3d0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ImportItemProvider.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Import;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Import} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ImportItemProvider
+	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 ImportItemProvider(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);
+
+			addImportURIPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Import URI feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addImportURIPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Import_importURI_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Import_importURI_feature", "_UI_Import_type"),
+				 RepositoryPackage.Literals.IMPORT__IMPORT_URI,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns Import.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Import"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Import)object).getImportURI();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Import_type") :
+			getString("_UI_Import_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(Import.class)) {
+			case RepositoryPackage.IMPORT__IMPORT_URI:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4d303490cdcb5979854751bdce1641060f9fd61c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InnerDeclarationItemProvider.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.InnerDeclaration;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InnerDeclarationItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InnerDeclarationItemProvider(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);
+
+			addDataTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Data Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDataTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InnerDeclaration_dataType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InnerDeclaration_dataType_feature", "_UI_InnerDeclaration_type"),
+				 RepositoryPackage.Literals.INNER_DECLARATION__DATA_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns InnerDeclaration.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InnerDeclaration"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InnerDeclaration)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InnerDeclaration_type") :
+			getString("_UI_InnerDeclaration_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/repository/provider/InterfaceItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..414aae7c9c03d23e2eb2558e33e4b96466a348c0
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.Interface;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceItemProvider(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);
+
+			addParentInterfacesPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Parent Interfaces feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addParentInterfacesPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Interface_parentInterfaces_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Interface_parentInterfaces_feature", "_UI_Interface_type"),
+				 RepositoryPackage.Literals.INTERFACE__PARENT_INTERFACES,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE__SIGNATURES);
+		}
+		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 Interface.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Interface"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Interface)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Interface_type") :
+			getString("_UI_Interface_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(Interface.class)) {
+			case RepositoryPackage.INTERFACE__SIGNATURES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE__SIGNATURES,
+				 RepositoryFactory.eINSTANCE.createSignature()));
+	}
+
+	/**
+	 * 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/repository/provider/InterfaceProvidingEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..6409618c1e25b12f4253c16932f4c99f40de4ff8
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingEntityItemProvider.java
@@ -0,0 +1,172 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.InterfaceProvidingEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceProvidingEntityItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceProvidingEntityItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__INTERFACE_PROVIDING_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceProvidingEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceProvidingEntity_type") :
+			getString("_UI_InterfaceProvidingEntity_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(InterfaceProvidingEntity.class)) {
+			case RepositoryPackage.INTERFACE_PROVIDING_ENTITY__INTERFACE_PROVIDING_ROLES:
+			case RepositoryPackage.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__INTERFACE_PROVIDING_ROLES,
+				 RepositoryFactory.eINSTANCE.createInterfaceProvidingRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_ENTITY__BLACK_BOX_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createBlackBoxBehavior()));
+	}
+
+	/**
+	 * 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/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..11fde132b43b9e49bb98455f9b577491b933e418
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRequiringEntityItemProvider.java
@@ -0,0 +1,179 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRequiringEntity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceProvidingRequiringEntityItemProvider
+	extends InterfaceProvidingEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InterfaceProvidingRequiringEntityItemProvider(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);
+
+			addRelationshipsPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Relationships feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addRelationshipsPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_InterfaceProvidingRequiringEntity_relationships_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceProvidingRequiringEntity_relationships_feature", "_UI_InterfaceProvidingRequiringEntity_type"),
+				 RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__RELATIONSHIPS,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((InterfaceProvidingRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceProvidingRequiringEntity_type") :
+			getString("_UI_InterfaceProvidingRequiringEntity_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(InterfaceProvidingRequiringEntity.class)) {
+			case RepositoryPackage.INTERFACE_PROVIDING_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES:
+			case RepositoryPackage.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES,
+				 RepositoryFactory.eINSTANCE.createInterfaceRequiringRole()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.INTERFACE_PROVIDING_REQUIRING_ENTITY__COARSE_GRAINED_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createCoarseGrainedBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRoleItemProvider.java
similarity index 80%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRoleItemProvider.java
index 16f9fd446b12eeb425bd3421c6a415ced391df63..7f889a2fabadfd6466d6983a2cff668f0fbc05ca 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedRoleItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceProvidingRoleItemProvider.java
@@ -4,7 +4,7 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedRole;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRole;
 import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
 
 import java.util.Collection;
@@ -22,12 +22,12 @@ 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.repository.ProvidedRole} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRole} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ProvidedRoleItemProvider
+public class InterfaceProvidingRoleItemProvider
 	extends RoleItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -41,7 +41,7 @@ public class ProvidedRoleItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ProvidedRoleItemProvider(AdapterFactory adapterFactory) {
+	public InterfaceProvidingRoleItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -72,9 +72,9 @@ public class ProvidedRoleItemProvider
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_ProvidedRole_interface_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedRole_interface_feature", "_UI_ProvidedRole_type"),
-				 RepositoryPackage.Literals.PROVIDED_ROLE__INTERFACE,
+				 getString("_UI_InterfaceProvidingRole_interface_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceProvidingRole_interface_feature", "_UI_InterfaceProvidingRole_type"),
+				 RepositoryPackage.Literals.INTERFACE_PROVIDING_ROLE__INTERFACE,
 				 true,
 				 false,
 				 true,
@@ -84,14 +84,14 @@ public class ProvidedRoleItemProvider
 	}
 
 	/**
-	 * This returns ProvidedRole.gif.
+	 * This returns InterfaceProvidingRole.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProvidedRole"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InterfaceProvidingRole"));
 	}
 
 	/**
@@ -102,10 +102,10 @@ public class ProvidedRoleItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ProvidedRole)object).getName();
+		String label = ((InterfaceProvidingRole)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_ProvidedRole_type") :
-			getString("_UI_ProvidedRole_type") + " " + label;
+			getString("_UI_InterfaceProvidingRole_type") :
+			getString("_UI_InterfaceProvidingRole_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java
similarity index 73%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java
index c6462264f58561940053831673841748ee3ec81b..b04f5f4916b8e4334a31b24a8f09ecdb386bd2d8 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/parameterdependencies/provider/EmpiricalCharacterizationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringEntityItemProvider.java
@@ -1,15 +1,17 @@
 /**
  * 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.repository.provider;
 
 
-import edu.kit.ipd.descartes.mm.applicationlevel.functions.FunctionsFactory;
-import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.EmpiricalCharacterization;
-import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.ParameterdependenciesPackage;
+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.InterfaceRequiringEntity;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
 import java.util.Collection;
 import java.util.List;
 
@@ -26,17 +28,16 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
 import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
 import org.eclipse.emf.edit.provider.ViewerNotification;
 
 /**
- * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.EmpiricalCharacterization} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringEntity} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class EmpiricalCharacterizationItemProvider
-	extends ItemProviderAdapter
+public class InterfaceRequiringEntityItemProvider
+	extends EntityItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -49,7 +50,7 @@ public class EmpiricalCharacterizationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EmpiricalCharacterizationItemProvider(AdapterFactory adapterFactory) {
+	public InterfaceRequiringEntityItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -80,7 +81,7 @@ public class EmpiricalCharacterizationItemProvider
 	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
 		if (childrenFeatures == null) {
 			super.getChildrenFeatures(object);
-			childrenFeatures.add(ParameterdependenciesPackage.Literals.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION);
+			childrenFeatures.add(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES);
 		}
 		return childrenFeatures;
 	}
@@ -98,17 +99,6 @@ public class EmpiricalCharacterizationItemProvider
 		return super.getChildFeature(object, child);
 	}
 
-	/**
-	 * This returns EmpiricalCharacterization.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/EmpiricalCharacterization"));
-	}
-
 	/**
 	 * This returns the label text for the adapted class.
 	 * <!-- begin-user-doc -->
@@ -117,7 +107,10 @@ public class EmpiricalCharacterizationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_EmpiricalCharacterization_type");
+		String label = ((InterfaceRequiringEntity)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_InterfaceRequiringEntity_type") :
+			getString("_UI_InterfaceRequiringEntity_type") + " " + label;
 	}
 
 	/**
@@ -131,8 +124,8 @@ public class EmpiricalCharacterizationItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(EmpiricalCharacterization.class)) {
-			case ParameterdependenciesPackage.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION:
+		switch (notification.getFeatureID(InterfaceRequiringEntity.class)) {
+			case RepositoryPackage.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES:
 				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
 				return;
 		}
@@ -152,8 +145,8 @@ public class EmpiricalCharacterizationItemProvider
 
 		newChildDescriptors.add
 			(createChildParameter
-				(ParameterdependenciesPackage.Literals.EMPIRICAL_CHARACTERIZATION__EMPIRICAL_FUNCTION,
-				 FunctionsFactory.eINSTANCE.createEmpiricalFunction()));
+				(RepositoryPackage.Literals.INTERFACE_REQUIRING_ENTITY__INTERFACE_REQUIRING_ROLES,
+				 RepositoryFactory.eINSTANCE.createInterfaceRequiringRole()));
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringRoleItemProvider.java
similarity index 80%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringRoleItemProvider.java
index 3845e851b9e46361a0edaaf81bfa6f4bd2eeb80f..ed556df1213038da9571d6e8540b869904d6a752 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredRoleItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/InterfaceRequiringRoleItemProvider.java
@@ -4,8 +4,8 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringRole;
 import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredRole;
 
 import java.util.Collection;
 import java.util.List;
@@ -22,12 +22,12 @@ 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.repository.RequiredRole} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringRole} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class RequiredRoleItemProvider
+public class InterfaceRequiringRoleItemProvider
 	extends RoleItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -41,7 +41,7 @@ public class RequiredRoleItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public RequiredRoleItemProvider(AdapterFactory adapterFactory) {
+	public InterfaceRequiringRoleItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -72,9 +72,9 @@ public class RequiredRoleItemProvider
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_RequiredRole_interface_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredRole_interface_feature", "_UI_RequiredRole_type"),
-				 RepositoryPackage.Literals.REQUIRED_ROLE__INTERFACE,
+				 getString("_UI_InterfaceRequiringRole_interface_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_InterfaceRequiringRole_interface_feature", "_UI_InterfaceRequiringRole_type"),
+				 RepositoryPackage.Literals.INTERFACE_REQUIRING_ROLE__INTERFACE,
 				 true,
 				 false,
 				 true,
@@ -84,14 +84,14 @@ public class RequiredRoleItemProvider
 	}
 
 	/**
-	 * This returns RequiredRole.gif.
+	 * This returns InterfaceRequiringRole.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiredRole"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InterfaceRequiringRole"));
 	}
 
 	/**
@@ -102,10 +102,10 @@ public class RequiredRoleItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((RequiredRole)object).getName();
+		String label = ((InterfaceRequiringRole)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_RequiredRole_type") :
-			getString("_UI_RequiredRole_type") + " " + label;
+			getString("_UI_InterfaceRequiringRole_type") :
+			getString("_UI_InterfaceRequiringRole_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffc9e2e94a82361723067d7cf949ce03c529a6aa
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ParameterItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.core.provider.NamedElementItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParameterItemProvider
+	extends NamedElementItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ParameterItemProvider(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);
+
+			addModifierPropertyDescriptor(object);
+			addDataTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Modifier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addModifierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Parameter_modifier_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_modifier_feature", "_UI_Parameter_type"),
+				 RepositoryPackage.Literals.PARAMETER__MODIFIER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Data Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDataTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Parameter_dataType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Parameter_dataType_feature", "_UI_Parameter_type"),
+				 RepositoryPackage.Literals.PARAMETER__DATA_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Parameter)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Parameter_type") :
+			getString("_UI_Parameter_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(Parameter.class)) {
+			case RepositoryPackage.PARAMETER__MODIFIER:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+	/**
+	 * Return the resource locator for this item provider's resources.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ResourceLocator getResourceLocator() {
+		return ApplicationlevelEditPlugin.INSTANCE;
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidingDelegationConnectorItemProvider.java
similarity index 70%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidingDelegationConnectorItemProvider.java
index b92aa9b81ea507732d7ef450d1c676b32ea3018a..1b96e5e5b1cf763ec4a5cbccb8b822305911be82 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidedDelegationConnectorItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/ProvidingDelegationConnectorItemProvider.java
@@ -4,7 +4,7 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidedDelegationConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidingDelegationConnector;
 import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
 
 import java.util.Collection;
@@ -22,12 +22,12 @@ 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.repository.ProvidedDelegationConnector} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidingDelegationConnector} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ProvidedDelegationConnectorItemProvider
+public class ProvidingDelegationConnectorItemProvider
 	extends DelegationConnectorItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -41,7 +41,7 @@ public class ProvidedDelegationConnectorItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ProvidedDelegationConnectorItemProvider(AdapterFactory adapterFactory) {
+	public ProvidingDelegationConnectorItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,26 +56,26 @@ public class ProvidedDelegationConnectorItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addInnerProvidedRolePropertyDescriptor(object);
-			addOuterProvidedRolePropertyDescriptor(object);
+			addInnerInterfaceProvidingRolePropertyDescriptor(object);
+			addOuterInterfaceProvidingRolePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Inner Provided Role feature.
+	 * This adds a property descriptor for the Inner Interface Providing Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInnerProvidedRolePropertyDescriptor(Object object) {
+	protected void addInnerInterfaceProvidingRolePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_ProvidedDelegationConnector_innerProvidedRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedDelegationConnector_innerProvidedRole_feature", "_UI_ProvidedDelegationConnector_type"),
-				 RepositoryPackage.Literals.PROVIDED_DELEGATION_CONNECTOR__INNER_PROVIDED_ROLE,
+				 getString("_UI_ProvidingDelegationConnector_innerInterfaceProvidingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidingDelegationConnector_innerInterfaceProvidingRole_feature", "_UI_ProvidingDelegationConnector_type"),
+				 RepositoryPackage.Literals.PROVIDING_DELEGATION_CONNECTOR__INNER_INTERFACE_PROVIDING_ROLE,
 				 true,
 				 false,
 				 true,
@@ -85,19 +85,19 @@ public class ProvidedDelegationConnectorItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Outer Provided Role feature.
+	 * This adds a property descriptor for the Outer Interface Providing Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addOuterProvidedRolePropertyDescriptor(Object object) {
+	protected void addOuterInterfaceProvidingRolePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_ProvidedDelegationConnector_outerProvidedRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidedDelegationConnector_outerProvidedRole_feature", "_UI_ProvidedDelegationConnector_type"),
-				 RepositoryPackage.Literals.PROVIDED_DELEGATION_CONNECTOR__OUTER_PROVIDED_ROLE,
+				 getString("_UI_ProvidingDelegationConnector_outerInterfaceProvidingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ProvidingDelegationConnector_outerInterfaceProvidingRole_feature", "_UI_ProvidingDelegationConnector_type"),
+				 RepositoryPackage.Literals.PROVIDING_DELEGATION_CONNECTOR__OUTER_INTERFACE_PROVIDING_ROLE,
 				 true,
 				 false,
 				 true,
@@ -107,14 +107,14 @@ public class ProvidedDelegationConnectorItemProvider
 	}
 
 	/**
-	 * This returns ProvidedDelegationConnector.gif.
+	 * This returns ProvidingDelegationConnector.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProvidedDelegationConnector"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ProvidingDelegationConnector"));
 	}
 
 	/**
@@ -125,10 +125,10 @@ public class ProvidedDelegationConnectorItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((ProvidedDelegationConnector)object).getName();
+		String label = ((ProvidingDelegationConnector)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_ProvidedDelegationConnector_type") :
-			getString("_UI_ProvidedDelegationConnector_type") + " " + label;
+			getString("_UI_ProvidingDelegationConnector_type") :
+			getString("_UI_ProvidingDelegationConnector_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..154a87d9d3fd7cba6b7c4a469fa68aaa9a37205a
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryComponentItemProvider.java
@@ -0,0 +1,111 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryComponent;
+
+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.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.repository.RepositoryComponent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RepositoryComponentItemProvider
+	extends InterfaceProvidingRequiringEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RepositoryComponentItemProvider(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 RepositoryComponent.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RepositoryComponent"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((RepositoryComponent)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_RepositoryComponent_type") :
+			getString("_UI_RepositoryComponent_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);
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..a7d811fc7c29ba2ebf50d2ebbd66f6c0479df736
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProvider.java
@@ -0,0 +1,210 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.Repository;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RepositoryItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RepositoryItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__IMPORTS);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__DATATYPES);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__INTERFACES);
+			childrenFeatures.add(RepositoryPackage.Literals.REPOSITORY__COMPONENTS);
+		}
+		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 Repository.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Repository"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Repository)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Repository_type") :
+			getString("_UI_Repository_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(Repository.class)) {
+			case RepositoryPackage.REPOSITORY__IMPORTS:
+			case RepositoryPackage.REPOSITORY__DATATYPES:
+			case RepositoryPackage.REPOSITORY__INTERFACES:
+			case RepositoryPackage.REPOSITORY__COMPONENTS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__IMPORTS,
+				 RepositoryFactory.eINSTANCE.createImport()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createCollectionDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__DATATYPES,
+				 RepositoryFactory.eINSTANCE.createCompositeDataType()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__INTERFACES,
+				 RepositoryFactory.eINSTANCE.createInterface()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createBasicComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createCompositeComponent()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.REPOSITORY__COMPONENTS,
+				 RepositoryFactory.eINSTANCE.createSubSystem()));
+	}
+
+	/**
+	 * 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/repository/provider/RepositoryItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..b56c2cee1c677e506e7097c880e3aee02e0978af
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RepositoryItemProviderAdapterFactory.java
@@ -0,0 +1,608 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.util.RepositoryAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RepositoryItemProviderAdapterFactory extends RepositoryAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RepositoryItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Import} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ImportItemProvider importItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Import}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createImportAdapter() {
+		if (importItemProvider == null) {
+			importItemProvider = new ImportItemProvider(this);
+		}
+
+		return importItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringRole} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceRequiringRoleItemProvider interfaceRequiringRoleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceRequiringRole}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceRequiringRoleAdapter() {
+		if (interfaceRequiringRoleItemProvider == null) {
+			interfaceRequiringRoleItemProvider = new InterfaceRequiringRoleItemProvider(this);
+		}
+
+		return interfaceRequiringRoleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRole} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceProvidingRoleItemProvider interfaceProvidingRoleItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InterfaceProvidingRole}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceProvidingRoleAdapter() {
+		if (interfaceProvidingRoleItemProvider == null) {
+			interfaceProvidingRoleItemProvider = new InterfaceProvidingRoleItemProvider(this);
+		}
+
+		return interfaceProvidingRoleItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InterfaceItemProvider interfaceItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Interface}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInterfaceAdapter() {
+		if (interfaceItemProvider == null) {
+			interfaceItemProvider = new InterfaceItemProvider(this);
+		}
+
+		return interfaceItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SignatureItemProvider signatureItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSignatureAdapter() {
+		if (signatureItemProvider == null) {
+			signatureItemProvider = new SignatureItemProvider(this);
+		}
+
+		return signatureItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ParameterItemProvider parameterItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Parameter}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createParameterAdapter() {
+		if (parameterItemProvider == null) {
+			parameterItemProvider = new ParameterItemProvider(this);
+		}
+
+		return parameterItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RepositoryItemProvider repositoryItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Repository}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRepositoryAdapter() {
+		if (repositoryItemProvider == null) {
+			repositoryItemProvider = new RepositoryItemProvider(this);
+		}
+
+		return repositoryItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BasicComponentItemProvider basicComponentItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.BasicComponent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBasicComponentAdapter() {
+		if (basicComponentItemProvider == null) {
+			basicComponentItemProvider = new BasicComponentItemProvider(this);
+		}
+
+		return basicComponentItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SemaphoreItemProvider semaphoreItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSemaphoreAdapter() {
+		if (semaphoreItemProvider == null) {
+			semaphoreItemProvider = new SemaphoreItemProvider(this);
+		}
+
+		return semaphoreItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CompositeComponentItemProvider compositeComponentItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeComponent}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCompositeComponentAdapter() {
+		if (compositeComponentItemProvider == null) {
+			compositeComponentItemProvider = new CompositeComponentItemProvider(this);
+		}
+
+		return compositeComponentItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SubSystemItemProvider subSystemItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSubSystemAdapter() {
+		if (subSystemItemProvider == null) {
+			subSystemItemProvider = new SubSystemItemProvider(this);
+		}
+
+		return subSystemItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CollectionDataTypeItemProvider collectionDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CollectionDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCollectionDataTypeAdapter() {
+		if (collectionDataTypeItemProvider == null) {
+			collectionDataTypeItemProvider = new CollectionDataTypeItemProvider(this);
+		}
+
+		return collectionDataTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CompositeDataTypeItemProvider compositeDataTypeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.CompositeDataType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCompositeDataTypeAdapter() {
+		if (compositeDataTypeItemProvider == null) {
+			compositeDataTypeItemProvider = new CompositeDataTypeItemProvider(this);
+		}
+
+		return compositeDataTypeItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AssemblyContextItemProvider assemblyContextItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyContext}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAssemblyContextAdapter() {
+		if (assemblyContextItemProvider == null) {
+			assemblyContextItemProvider = new AssemblyContextItemProvider(this);
+		}
+
+		return assemblyContextItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AssemblyConnectorItemProvider assemblyConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.AssemblyConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAssemblyConnectorAdapter() {
+		if (assemblyConnectorItemProvider == null) {
+			assemblyConnectorItemProvider = new AssemblyConnectorItemProvider(this);
+		}
+
+		return assemblyConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InnerDeclarationItemProvider innerDeclarationItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.InnerDeclaration}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInnerDeclarationAdapter() {
+		if (innerDeclarationItemProvider == null) {
+			innerDeclarationItemProvider = new InnerDeclarationItemProvider(this);
+		}
+
+		return innerDeclarationItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidingDelegationConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ProvidingDelegationConnectorItemProvider providingDelegationConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.ProvidingDelegationConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createProvidingDelegationConnectorAdapter() {
+		if (providingDelegationConnectorItemProvider == null) {
+			providingDelegationConnectorItemProvider = new ProvidingDelegationConnectorItemProvider(this);
+		}
+
+		return providingDelegationConnectorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiringDelegationConnector} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RequiringDelegationConnectorItemProvider requiringDelegationConnectorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiringDelegationConnector}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createRequiringDelegationConnectorAdapter() {
+		if (requiringDelegationConnectorItemProvider == null) {
+			requiringDelegationConnectorItemProvider = new RequiringDelegationConnectorItemProvider(this);
+		}
+
+		return requiringDelegationConnectorItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (importItemProvider != null) importItemProvider.dispose();
+		if (interfaceRequiringRoleItemProvider != null) interfaceRequiringRoleItemProvider.dispose();
+		if (interfaceProvidingRoleItemProvider != null) interfaceProvidingRoleItemProvider.dispose();
+		if (interfaceItemProvider != null) interfaceItemProvider.dispose();
+		if (signatureItemProvider != null) signatureItemProvider.dispose();
+		if (parameterItemProvider != null) parameterItemProvider.dispose();
+		if (repositoryItemProvider != null) repositoryItemProvider.dispose();
+		if (basicComponentItemProvider != null) basicComponentItemProvider.dispose();
+		if (semaphoreItemProvider != null) semaphoreItemProvider.dispose();
+		if (compositeComponentItemProvider != null) compositeComponentItemProvider.dispose();
+		if (subSystemItemProvider != null) subSystemItemProvider.dispose();
+		if (collectionDataTypeItemProvider != null) collectionDataTypeItemProvider.dispose();
+		if (compositeDataTypeItemProvider != null) compositeDataTypeItemProvider.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/repository/provider/RequiredDelegationConnectorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiringDelegationConnectorItemProvider.java
similarity index 71%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredDelegationConnectorItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiringDelegationConnectorItemProvider.java
index b8c1ae3906138074e6779afbaa8cc9fad3cb7d3e..41cb4148c45f674df9c41118648bfcc4fe4be50d 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiredDelegationConnectorItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RequiringDelegationConnectorItemProvider.java
@@ -5,7 +5,7 @@ package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
-import edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiredDelegationConnector;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiringDelegationConnector;
 
 import java.util.Collection;
 import java.util.List;
@@ -22,12 +22,12 @@ 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.repository.RequiredDelegationConnector} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.RequiringDelegationConnector} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class RequiredDelegationConnectorItemProvider
+public class RequiringDelegationConnectorItemProvider
 	extends DelegationConnectorItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -41,7 +41,7 @@ public class RequiredDelegationConnectorItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public RequiredDelegationConnectorItemProvider(AdapterFactory adapterFactory) {
+	public RequiringDelegationConnectorItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -56,26 +56,26 @@ public class RequiredDelegationConnectorItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addInnerRequiredRolePropertyDescriptor(object);
-			addOuterRequiredRolePropertyDescriptor(object);
+			addInnerInterfaceRequiringRolePropertyDescriptor(object);
+			addOuterInterfaceRequiringRolePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Inner Required Role feature.
+	 * This adds a property descriptor for the Inner Interface Requiring Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addInnerRequiredRolePropertyDescriptor(Object object) {
+	protected void addInnerInterfaceRequiringRolePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_RequiredDelegationConnector_innerRequiredRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredDelegationConnector_innerRequiredRole_feature", "_UI_RequiredDelegationConnector_type"),
-				 RepositoryPackage.Literals.REQUIRED_DELEGATION_CONNECTOR__INNER_REQUIRED_ROLE,
+				 getString("_UI_RequiringDelegationConnector_innerInterfaceRequiringRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RequiringDelegationConnector_innerInterfaceRequiringRole_feature", "_UI_RequiringDelegationConnector_type"),
+				 RepositoryPackage.Literals.REQUIRING_DELEGATION_CONNECTOR__INNER_INTERFACE_REQUIRING_ROLE,
 				 true,
 				 false,
 				 true,
@@ -85,19 +85,19 @@ public class RequiredDelegationConnectorItemProvider
 	}
 
 	/**
-	 * This adds a property descriptor for the Outer Required Role feature.
+	 * This adds a property descriptor for the Outer Interface Requiring Role feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addOuterRequiredRolePropertyDescriptor(Object object) {
+	protected void addOuterInterfaceRequiringRolePropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_RequiredDelegationConnector_outerRequiredRole_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_RequiredDelegationConnector_outerRequiredRole_feature", "_UI_RequiredDelegationConnector_type"),
-				 RepositoryPackage.Literals.REQUIRED_DELEGATION_CONNECTOR__OUTER_REQUIRED_ROLE,
+				 getString("_UI_RequiringDelegationConnector_outerInterfaceRequiringRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_RequiringDelegationConnector_outerInterfaceRequiringRole_feature", "_UI_RequiringDelegationConnector_type"),
+				 RepositoryPackage.Literals.REQUIRING_DELEGATION_CONNECTOR__OUTER_INTERFACE_REQUIRING_ROLE,
 				 true,
 				 false,
 				 true,
@@ -107,14 +107,14 @@ public class RequiredDelegationConnectorItemProvider
 	}
 
 	/**
-	 * This returns RequiredDelegationConnector.gif.
+	 * This returns RequiringDelegationConnector.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiredDelegationConnector"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/RequiringDelegationConnector"));
 	}
 
 	/**
@@ -125,10 +125,10 @@ public class RequiredDelegationConnectorItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((RequiredDelegationConnector)object).getName();
+		String label = ((RequiringDelegationConnector)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_RequiredDelegationConnector_type") :
-			getString("_UI_RequiredDelegationConnector_type") + " " + label;
+			getString("_UI_RequiringDelegationConnector_type") :
+			getString("_UI_RequiringDelegationConnector_type") + " " + label;
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..661bb1454c4b3c90a2473e9d205fec9cc0d646ff
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/RoleItemProvider.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.Role;
+
+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.repository.Role} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RoleItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public RoleItemProvider(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 the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Role)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Role_type") :
+			getString("_UI_Role_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/repository/provider/PrimitiveDataTypeItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java
similarity index 78%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java
index 2ce49301b061e099f37161103060c118473e86f7..a9e15035e741454da837d96a44f52922f541dd67 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/PrimitiveDataTypeItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SemaphoreItemProvider.java
@@ -4,12 +4,12 @@
 package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
 
 
-import edu.kit.ipd.descartes.core.provider.EntityItemProvider;
+import edu.kit.ipd.descartes.core.provider.AdaptableEntityItemProvider;
 
 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 edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore;
 
 import java.util.Collection;
 import java.util.List;
@@ -30,13 +30,13 @@ 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.repository.PrimitiveDataType} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Semaphore} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class PrimitiveDataTypeItemProvider
-	extends EntityItemProvider
+public class SemaphoreItemProvider
+	extends AdaptableEntityItemProvider
 	implements
 		IEditingDomainItemProvider,
 		IStructuredItemContentProvider,
@@ -49,7 +49,7 @@ public class PrimitiveDataTypeItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public PrimitiveDataTypeItemProvider(AdapterFactory adapterFactory) {
+	public SemaphoreItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -64,25 +64,25 @@ public class PrimitiveDataTypeItemProvider
 		if (itemPropertyDescriptors == null) {
 			super.getPropertyDescriptors(object);
 
-			addTypePropertyDescriptor(object);
+			addCapacityPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
 
 	/**
-	 * This adds a property descriptor for the Type feature.
+	 * This adds a property descriptor for the Capacity feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	protected void addTypePropertyDescriptor(Object object) {
+	protected void addCapacityPropertyDescriptor(Object object) {
 		itemPropertyDescriptors.add
 			(createItemPropertyDescriptor
 				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
 				 getResourceLocator(),
-				 getString("_UI_PrimitiveDataType_type_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_PrimitiveDataType_type_feature", "_UI_PrimitiveDataType_type"),
-				 RepositoryPackage.Literals.PRIMITIVE_DATA_TYPE__TYPE,
+				 getString("_UI_Semaphore_capacity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Semaphore_capacity_feature", "_UI_Semaphore_type"),
+				 RepositoryPackage.Literals.SEMAPHORE__CAPACITY,
 				 true,
 				 false,
 				 false,
@@ -92,14 +92,14 @@ public class PrimitiveDataTypeItemProvider
 	}
 
 	/**
-	 * This returns PrimitiveDataType.gif.
+	 * This returns Semaphore.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/PrimitiveDataType"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Semaphore"));
 	}
 
 	/**
@@ -110,10 +110,10 @@ public class PrimitiveDataTypeItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		String label = ((PrimitiveDataType)object).getName();
+		String label = ((Semaphore)object).getName();
 		return label == null || label.length() == 0 ?
-			getString("_UI_PrimitiveDataType_type") :
-			getString("_UI_PrimitiveDataType_type") + " " + label;
+			getString("_UI_Semaphore_type") :
+			getString("_UI_Semaphore_type") + " " + label;
 	}
 
 	/**
@@ -127,8 +127,8 @@ public class PrimitiveDataTypeItemProvider
 	public void notifyChanged(Notification notification) {
 		updateChildren(notification);
 
-		switch (notification.getFeatureID(PrimitiveDataType.class)) {
-			case RepositoryPackage.PRIMITIVE_DATA_TYPE__TYPE:
+		switch (notification.getFeatureID(Semaphore.class)) {
+			case RepositoryPackage.SEMAPHORE__CAPACITY:
 				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/SignatureItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SignatureItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..48a02bd8c4b6ba2239f1d2ed68250e818e82a752
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SignatureItemProvider.java
@@ -0,0 +1,198 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+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.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.Signature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SignatureItemProvider
+	extends EntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SignatureItemProvider(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);
+
+			addReturnTypePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Return Type feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addReturnTypePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_Signature_returnType_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_Signature_returnType_feature", "_UI_Signature_type"),
+				 RepositoryPackage.Literals.SIGNATURE__RETURN_TYPE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.SIGNATURE__PARAMETERS);
+		}
+		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 Signature.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/Signature"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((Signature)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_Signature_type") :
+			getString("_UI_Signature_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(Signature.class)) {
+			case RepositoryPackage.SIGNATURE__PARAMETERS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.SIGNATURE__PARAMETERS,
+				 RepositoryFactory.eINSTANCE.createParameter()));
+	}
+
+	/**
+	 * 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/repository/provider/SubSystemItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SubSystemItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..8d8131fd0f3ea9ad9b4bd592c51818a74844d6fc
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/provider/SubSystemItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.repository.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.RepositoryPackage;
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.repository.SubSystem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SubSystemItemProvider
+	extends RepositoryComponentItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SubSystemItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS);
+			childrenFeatures.add(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS);
+		}
+		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 SubSystem.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/SubSystem"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((SubSystem)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_SubSystem_type") :
+			getString("_UI_SubSystem_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(SubSystem.class)) {
+			case RepositoryPackage.SUB_SYSTEM__ASSEMBLY_CONTEXTS:
+			case RepositoryPackage.SUB_SYSTEM__ASSEMBLY_CONNECTORS:
+			case RepositoryPackage.SUB_SYSTEM__PROVIDING_DELEGATION_CONNECTORS:
+			case RepositoryPackage.SUB_SYSTEM__REQUIRING_DELEGATION_CONNECTORS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONTEXTS,
+				 RepositoryFactory.eINSTANCE.createAssemblyContext()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__ASSEMBLY_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createAssemblyConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__PROVIDING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createProvidingDelegationConnector()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(RepositoryPackage.Literals.COMPOSED_STRUCTURE__REQUIRING_DELEGATION_CONNECTORS,
+				 RepositoryFactory.eINSTANCE.createRequiringDelegationConnector()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..e683c1e354c46cab907095265056ac79530f6289
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AbstractActionItemProvider.java
@@ -0,0 +1,122 @@
+/**
+ * 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.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.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.servicebehavior.AbstractAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractActionItemProvider
+	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 AbstractActionItemProvider(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 AbstractAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AbstractAction"));
+	}
+
+	/**
+	 * 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_AbstractAction_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/servicebehavior/provider/AcquireActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AcquireActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..1746b8a3294466d442b98c8ef321ef18f34accf3
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/AcquireActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * 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.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AcquireAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcquireActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public AcquireActionItemProvider(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);
+
+			addSemaphorePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Semaphore feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSemaphorePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_AcquireAction_semaphore_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_AcquireAction_semaphore_feature", "_UI_AcquireAction_type"),
+				 ServicebehaviorPackage.Literals.ACQUIRE_ACTION__SEMAPHORE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns AcquireAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/AcquireAction"));
+	}
+
+	/**
+	 * 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_AcquireAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9b8755972845214b85965350d1ee0e179516f67c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BlackBoxBehaviorItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * 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.servicebehavior.BlackBoxBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlackBoxBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BlackBoxBehaviorItemProvider(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);
+
+			addDescribedEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_BlackBoxBehavior_describedEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_BlackBoxBehavior_describedEntity_feature", "_UI_BlackBoxBehavior_type"),
+				 ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__DESCRIBED_ENTITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__RESPONSE_TIME);
+		}
+		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 BlackBoxBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BlackBoxBehavior"));
+	}
+
+	/**
+	 * 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_BlackBoxBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BlackBoxBehavior.class)) {
+			case ServicebehaviorPackage.BLACK_BOX_BEHAVIOR__RESPONSE_TIME:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.BLACK_BOX_BEHAVIOR__RESPONSE_TIME,
+				 ServicebehaviorFactory.eINSTANCE.createResponseTime()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f62aef7d8530eb398e34eeeb39bc16e5dd9e3d6
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchActionItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * 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.servicebehavior.BranchAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public BranchActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCHES);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCH_PROBABILITIES);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns BranchAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchAction"));
+	}
+
+	/**
+	 * 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_BranchAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(BranchAction.class)) {
+			case ServicebehaviorPackage.BRANCH_ACTION__BRANCHES:
+			case ServicebehaviorPackage.BRANCH_ACTION__BRANCH_PROBABILITIES:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCHES,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.BRANCH_ACTION__BRANCH_PROBABILITIES,
+				 ServicebehaviorFactory.eINSTANCE.createBranchProbabilities()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..e2ee9efb878773a47adc76b90ee54cc0ec633d86
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/BranchProbabilitiesItemProvider.java
@@ -0,0 +1,123 @@
+/**
+ * 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.provider.ControlFlowVariableItemProvider;
+
+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.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.BranchProbabilities} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BranchProbabilitiesItemProvider
+	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 BranchProbabilitiesItemProvider(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 BranchProbabilities.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/BranchProbabilities"));
+	}
+
+	/**
+	 * 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_BranchProbabilities_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/servicebehavior/provider/CallFrequencyItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..87e2b00a8ac95dfe65b72fe7ba4cf841c2d3ec36
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CallFrequencyItemProvider.java
@@ -0,0 +1,149 @@
+/**
+ * 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.provider.ControlFlowVariableItemProvider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CallFrequencyItemProvider
+	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 CallFrequencyItemProvider(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);
+
+			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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CallFrequency"));
+	}
+
+	/**
+	 * 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_CallFrequency_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/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c0043d20ff1ca0c4b49a86b8d2a9b18536888bd
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/CoarseGrainedBehaviorItemProvider.java
@@ -0,0 +1,185 @@
+/**
+ * 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.servicebehavior.CoarseGrainedBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CoarseGrainedBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CoarseGrainedBehaviorItemProvider(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);
+
+			addDescribedEntityPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Entity feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedEntityPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_CoarseGrainedBehavior_describedEntity_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_CoarseGrainedBehavior_describedEntity_feature", "_UI_CoarseGrainedBehavior_type"),
+				 ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__DESCRIBED_ENTITY,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND);
+		}
+		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 CoarseGrainedBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/CoarseGrainedBehavior"));
+	}
+
+	/**
+	 * 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_CoarseGrainedBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(CoarseGrainedBehavior.class)) {
+			case ServicebehaviorPackage.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY:
+			case ServicebehaviorPackage.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__EXTERNAL_CALL_FREQUENCY,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallFrequency()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COARSE_GRAINED_BEHAVIOR__RESOURCE_DEMAND,
+				 ServicebehaviorFactory.eINSTANCE.createResourceDemand()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..4197ce149c1413d61ff168960ee8a89aedd83fa5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ComponentInternalBehaviorItemProvider.java
@@ -0,0 +1,200 @@
+/**
+ * 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.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ComponentInternalBehaviorItemProvider
+	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 ComponentInternalBehaviorItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns ComponentInternalBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ComponentInternalBehavior"));
+	}
+
+	/**
+	 * 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_ComponentInternalBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ComponentInternalBehavior.class)) {
+			case ServicebehaviorPackage.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createAcquireAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createReleaseAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createInternalAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createForkAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createBranchAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createLoopAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.COMPONENT_INTERNAL_BEHAVIOR__ACTIONS,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallAction()));
+	}
+
+	/**
+	 * 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/ExternalCallActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..d25fcb3cd5681c9bf20bb58b0189e3c07e9af66c
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallActionItemProvider.java
@@ -0,0 +1,155 @@
+/**
+ * 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.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ExternalCallActionItemProvider(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);
+
+			addSignaturePropertyDescriptor(object);
+			addInterfaceRequiringRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_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));
+	}
+
+	/**
+	 * 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));
+	}
+
+	/**
+	 * This returns ExternalCallAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallAction"));
+	}
+
+	/**
+	 * 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_ExternalCallAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.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
new file mode 100644
index 0000000000000000000000000000000000000000..45be11a42b160765600d70a72aeb39a1e6d754d5
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallFrequencyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * 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.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallFrequencyItemProvider
+	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 ExternalCallFrequencyItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__FREQUENCY);
+		}
+		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 ExternalCallFrequency.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCallFrequency"));
+	}
+
+	/**
+	 * 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_ExternalCallFrequency_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ExternalCallFrequency.class)) {
+			case ServicebehaviorPackage.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL:
+			case ServicebehaviorPackage.EXTERNAL_CALL_FREQUENCY__FREQUENCY:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCallAction()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__EXTERNAL_CALL,
+				 ServicebehaviorFactory.eINSTANCE.createExternalCall()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.EXTERNAL_CALL_FREQUENCY__FREQUENCY,
+				 ServicebehaviorFactory.eINSTANCE.createCallFrequency()));
+	}
+
+	/**
+	 * 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/ExternalCallItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..3a96d5a7df0f612e217f2ccc874cd30cea6c092f
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ExternalCallItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * 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.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.servicebehavior.ExternalCall} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExternalCallItemProvider
+	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 ExternalCallItemProvider(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);
+
+			addSignaturePropertyDescriptor(object);
+			addInterfaceRequiringRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_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));
+	}
+
+	/**
+	 * 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));
+	}
+
+	/**
+	 * This returns ExternalCall.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ExternalCall"));
+	}
+
+	/**
+	 * 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_ExternalCall_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/servicebehavior/provider/FineGrainedBehaviorItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/FineGrainedBehaviorItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..840560b7e9ec335e83c9135e9436eff92a9062f4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/FineGrainedBehaviorItemProvider.java
@@ -0,0 +1,178 @@
+/**
+ * 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.servicebehavior.FineGrainedBehavior;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.FineGrainedBehavior} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FineGrainedBehaviorItemProvider
+	extends ServiceBehaviorAbstractionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public FineGrainedBehaviorItemProvider(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);
+
+			addBasicComponentPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Basic Component feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addBasicComponentPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_FineGrainedBehavior_basicComponent_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_FineGrainedBehavior_basicComponent_feature", "_UI_FineGrainedBehavior_type"),
+				 ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__BASIC_COMPONENT,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__BEHAVIOR);
+		}
+		return childrenFeatures;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EStructuralFeature getChildFeature(Object object, Object child) {
+		// Check the type of the specified child object and return the proper feature to use for
+		// adding (see {@link AddCommand}) it as a child.
+
+		return super.getChildFeature(object, child);
+	}
+
+	/**
+	 * This returns FineGrainedBehavior.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/FineGrainedBehavior"));
+	}
+
+	/**
+	 * 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_FineGrainedBehavior_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(FineGrainedBehavior.class)) {
+			case ServicebehaviorPackage.FINE_GRAINED_BEHAVIOR__BEHAVIOR:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.FINE_GRAINED_BEHAVIOR__BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..579b4f2bcf02af8ad747a27583036dc4155c422b
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ForkActionItemProvider.java
@@ -0,0 +1,183 @@
+/**
+ * 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.servicebehavior.ForkAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+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.servicebehavior.ForkAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ForkActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ForkActionItemProvider(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);
+
+			addWithSynchronizationBarrierPropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the With Synchronization Barrier feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addWithSynchronizationBarrierPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ForkAction_withSynchronizationBarrier_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ForkAction_withSynchronizationBarrier_feature", "_UI_ForkAction_type"),
+				 ServicebehaviorPackage.Literals.FORK_ACTION__WITH_SYNCHRONIZATION_BARRIER,
+				 true,
+				 false,
+				 false,
+				 ItemPropertyDescriptor.BOOLEAN_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.FORK_ACTION__FORKED_BEHAVIORS);
+		}
+		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 ForkAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ForkAction"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		ForkAction forkAction = (ForkAction)object;
+		return getString("_UI_ForkAction_type") + " " + forkAction.isWithSynchronizationBarrier();
+	}
+
+	/**
+	 * 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(ForkAction.class)) {
+			case ServicebehaviorPackage.FORK_ACTION__WITH_SYNCHRONIZATION_BARRIER:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+				return;
+			case ServicebehaviorPackage.FORK_ACTION__FORKED_BEHAVIORS:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.FORK_ACTION__FORKED_BEHAVIORS,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..61d8f0c0d675db12d5978fa045ad4cb407584512
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/InternalActionItemProvider.java
@@ -0,0 +1,154 @@
+/**
+ * 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.servicebehavior.InternalAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InternalActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public InternalActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.INTERNAL_ACTION__RESOURCE_DEMAND);
+		}
+		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 InternalAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/InternalAction"));
+	}
+
+	/**
+	 * 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_InternalAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(InternalAction.class)) {
+			case ServicebehaviorPackage.INTERNAL_ACTION__RESOURCE_DEMAND:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.INTERNAL_ACTION__RESOURCE_DEMAND,
+				 ServicebehaviorFactory.eINSTANCE.createResourceDemand()));
+	}
+
+}
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
new file mode 100644
index 0000000000000000000000000000000000000000..1054f3bb9c2530dddc280b0318c0a8f604f27dce
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopActionItemProvider.java
@@ -0,0 +1,161 @@
+/**
+ * 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.servicebehavior.LoopAction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorFactory;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public LoopActionItemProvider(AdapterFactory adapterFactory) {
+		super(adapterFactory);
+	}
+
+	/**
+	 * This returns the property descriptors for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+		if (itemPropertyDescriptors == null) {
+			super.getPropertyDescriptors(object);
+
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_BODY_BEHAVIOR);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION);
+		}
+		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 LoopAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopAction"));
+	}
+
+	/**
+	 * 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_LoopAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(LoopAction.class)) {
+			case ServicebehaviorPackage.LOOP_ACTION__LOOP_BODY_BEHAVIOR:
+			case ServicebehaviorPackage.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_BODY_BEHAVIOR,
+				 ServicebehaviorFactory.eINSTANCE.createComponentInternalBehavior()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.LOOP_ACTION__LOOP_ITERATION_COUNT_DISTRIBUTION,
+				 ServicebehaviorFactory.eINSTANCE.createLoopIterationCountDistribution()));
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..2d06defb8648b62153f5d14500b356088bbd9e32
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/LoopIterationCountDistributionItemProvider.java
@@ -0,0 +1,123 @@
+/**
+ * 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.provider.ControlFlowVariableItemProvider;
+
+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.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.LoopIterationCountDistribution} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class LoopIterationCountDistributionItemProvider
+	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 LoopIterationCountDistributionItemProvider(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 LoopIterationCountDistribution.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/LoopIterationCountDistribution"));
+	}
+
+	/**
+	 * 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_LoopIterationCountDistribution_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/servicebehavior/provider/ReleaseActionItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ReleaseActionItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..ae82ecb7599740ea43dfe2d1aaf3e68351f69261
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ReleaseActionItemProvider.java
@@ -0,0 +1,132 @@
+/**
+ * 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.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ReleaseAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ReleaseActionItemProvider
+	extends AbstractActionItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReleaseActionItemProvider(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);
+
+			addSemaphorePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Semaphore feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addSemaphorePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ReleaseAction_semaphore_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ReleaseAction_semaphore_feature", "_UI_ReleaseAction_type"),
+				 ServicebehaviorPackage.Literals.RELEASE_ACTION__SEMAPHORE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This returns ReleaseAction.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ReleaseAction"));
+	}
+
+	/**
+	 * 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_ReleaseAction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
similarity index 88%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
index 89f48e486db27dcaf43b2a7b812bc1b7be4019af..dea37c54084cb3f5a7d595a73c6602ced814cafb 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeSpecificationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandItemProvider.java
@@ -5,6 +5,7 @@ package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
+
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
 import java.util.Collection;
@@ -21,15 +22,14 @@ 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.servicebehavior.ResponseTimeSpecification} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemand} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ResponseTimeSpecificationItemProvider
+public class ResourceDemandItemProvider
 	extends ModelVariableItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -43,7 +43,7 @@ public class ResponseTimeSpecificationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ResponseTimeSpecificationItemProvider(AdapterFactory adapterFactory) {
+	public ResourceDemandItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -63,14 +63,14 @@ public class ResponseTimeSpecificationItemProvider
 	}
 
 	/**
-	 * This returns ResponseTimeSpecification.gif.
+	 * This returns ResourceDemand.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResponseTimeSpecification"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResourceDemand"));
 	}
 
 	/**
@@ -81,7 +81,7 @@ public class ResponseTimeSpecificationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ResponseTimeSpecification_type");
+		return getString("_UI_ResourceDemand_type");
 	}
 
 	/**
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
similarity index 88%
rename from edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java
rename to edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
index ecc274a18ef3ed69b7db81fcd7fad15b0aacbc05..247e0ea25a49b0c7f06e0232df356e8cb11650cf 100644
--- a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResourceDemandSpecificationItemProvider.java
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ResponseTimeItemProvider.java
@@ -5,6 +5,7 @@ package edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.provider;
 
 
 import edu.kit.ipd.descartes.mm.applicationlevel.parameterdependencies.provider.ModelVariableItemProvider;
+
 import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
 
 import java.util.Collection;
@@ -21,15 +22,14 @@ 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.servicebehavior.ResourceDemandSpecification} object.
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTime} object.
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  * @generated
  */
-public class ResourceDemandSpecificationItemProvider
+public class ResponseTimeItemProvider
 	extends ModelVariableItemProvider
 	implements
 		IEditingDomainItemProvider,
@@ -43,7 +43,7 @@ public class ResourceDemandSpecificationItemProvider
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public ResourceDemandSpecificationItemProvider(AdapterFactory adapterFactory) {
+	public ResponseTimeItemProvider(AdapterFactory adapterFactory) {
 		super(adapterFactory);
 	}
 
@@ -63,14 +63,14 @@ public class ResourceDemandSpecificationItemProvider
 	}
 
 	/**
-	 * This returns ResourceDemandSpecification.gif.
+	 * This returns ResponseTime.gif.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
 	@Override
 	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResourceDemandSpecification"));
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/ResponseTime"));
 	}
 
 	/**
@@ -81,7 +81,7 @@ public class ResourceDemandSpecificationItemProvider
 	 */
 	@Override
 	public String getText(Object object) {
-		return getString("_UI_ResourceDemandSpecification_type");
+		return getString("_UI_ResponseTime_type");
 	}
 
 	/**
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
new file mode 100644
index 0000000000000000000000000000000000000000..8d76123e47a3e515a2730fd0def2baf2ff54e399
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServiceBehaviorAbstractionItemProvider.java
@@ -0,0 +1,229 @@
+/**
+ * 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.ParameterdependenciesFactory;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServiceBehaviorAbstraction;
+import edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServicebehaviorPackage;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+/**
+ * This is the item provider adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ServiceBehaviorAbstraction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServiceBehaviorAbstractionItemProvider
+	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 ServiceBehaviorAbstractionItemProvider(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);
+
+			addDescribedSignaturePropertyDescriptor(object);
+			addInterfaceProvidingRolePropertyDescriptor(object);
+		}
+		return itemPropertyDescriptors;
+	}
+
+	/**
+	 * This adds a property descriptor for the Described Signature feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDescribedSignaturePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ServiceBehaviorAbstraction_describedSignature_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceBehaviorAbstraction_describedSignature_feature", "_UI_ServiceBehaviorAbstraction_type"),
+				 ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__DESCRIBED_SIGNATURE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Interface Providing Role feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addInterfaceProvidingRolePropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add
+			(createItemPropertyDescriptor
+				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+				 getResourceLocator(),
+				 getString("_UI_ServiceBehaviorAbstraction_interfaceProvidingRole_feature"),
+				 getString("_UI_PropertyDescriptor_description", "_UI_ServiceBehaviorAbstraction_interfaceProvidingRole_feature", "_UI_ServiceBehaviorAbstraction_type"),
+				 ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INTERFACE_PROVIDING_ROLE,
+				 true,
+				 false,
+				 true,
+				 null,
+				 null,
+				 null));
+	}
+
+	/**
+	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+		if (childrenFeatures == null) {
+			super.getChildrenFeatures(object);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER);
+			childrenFeatures.add(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCED_VARIABLE_REFERENCE);
+		}
+		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 -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		return getString("_UI_ServiceBehaviorAbstraction_type");
+	}
+
+	/**
+	 * This handles model notifications by calling {@link #updateChildren} to update any cached
+	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void notifyChanged(Notification notification) {
+		updateChildren(notification);
+
+		switch (notification.getFeatureID(ServiceBehaviorAbstraction.class)) {
+			case ServicebehaviorPackage.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER:
+			case ServicebehaviorPackage.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCED_VARIABLE_REFERENCE:
+				fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+				return;
+		}
+		super.notifyChanged(notification);
+	}
+
+	/**
+	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+	 * that can be created under this object.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+		super.collectNewChildDescriptors(newChildDescriptors, object);
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createInfluencingParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createServiceInputParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createExternalCallReturnParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCING_PARAMETER,
+				 ParameterdependenciesFactory.eINSTANCE.createExternalCallParameter()));
+
+		newChildDescriptors.add
+			(createChildParameter
+				(ServicebehaviorPackage.Literals.SERVICE_BEHAVIOR_ABSTRACTION__INFLUENCED_VARIABLE_REFERENCE,
+				 ParameterdependenciesFactory.eINSTANCE.createInfluencedVariableReference()));
+	}
+
+	/**
+	 * 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/ServicebehaviorItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..0bd351c4bfc1ef3655aed5d076588e73f90121e4
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/servicebehavior/provider/ServicebehaviorItemProviderAdapterFactory.java
@@ -0,0 +1,608 @@
+/**
+ * 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.servicebehavior.util.ServicebehaviorAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServicebehaviorItemProviderAdapterFactory extends ServicebehaviorAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ServicebehaviorItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.FineGrainedBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected FineGrainedBehaviorItemProvider fineGrainedBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.FineGrainedBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createFineGrainedBehaviorAdapter() {
+		if (fineGrainedBehaviorItemProvider == null) {
+			fineGrainedBehaviorItemProvider = new FineGrainedBehaviorItemProvider(this);
+		}
+
+		return fineGrainedBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComponentInternalBehaviorItemProvider componentInternalBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ComponentInternalBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createComponentInternalBehaviorAdapter() {
+		if (componentInternalBehaviorItemProvider == null) {
+			componentInternalBehaviorItemProvider = new ComponentInternalBehaviorItemProvider(this);
+		}
+
+		return componentInternalBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AcquireAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected AcquireActionItemProvider acquireActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.AcquireAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createAcquireActionAdapter() {
+		if (acquireActionItemProvider == null) {
+			acquireActionItemProvider = new AcquireActionItemProvider(this);
+		}
+
+		return acquireActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ReleaseAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ReleaseActionItemProvider releaseActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ReleaseAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createReleaseActionAdapter() {
+		if (releaseActionItemProvider == null) {
+			releaseActionItemProvider = new ReleaseActionItemProvider(this);
+		}
+
+		return releaseActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected InternalActionItemProvider internalActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.InternalAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createInternalActionAdapter() {
+		if (internalActionItemProvider == null) {
+			internalActionItemProvider = new InternalActionItemProvider(this);
+		}
+
+		return internalActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ForkActionItemProvider forkActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ForkAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createForkActionAdapter() {
+		if (forkActionItemProvider == null) {
+			forkActionItemProvider = new ForkActionItemProvider(this);
+		}
+
+		return forkActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchActionItemProvider branchActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchActionAdapter() {
+		if (branchActionItemProvider == null) {
+			branchActionItemProvider = new BranchActionItemProvider(this);
+		}
+
+		return branchActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BranchProbabilitiesItemProvider branchProbabilitiesItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BranchProbabilities}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBranchProbabilitiesAdapter() {
+		if (branchProbabilitiesItemProvider == null) {
+			branchProbabilitiesItemProvider = new BranchProbabilitiesItemProvider(this);
+		}
+
+		return branchProbabilitiesItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopActionItemProvider loopActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopActionAdapter() {
+		if (loopActionItemProvider == null) {
+			loopActionItemProvider = new LoopActionItemProvider(this);
+		}
+
+		return loopActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected LoopIterationCountDistributionItemProvider loopIterationCountDistributionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.LoopIterationCountDistribution}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createLoopIterationCountDistributionAdapter() {
+		if (loopIterationCountDistributionItemProvider == null) {
+			loopIterationCountDistributionItemProvider = new LoopIterationCountDistributionItemProvider(this);
+		}
+
+		return loopIterationCountDistributionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallActionItemProvider externalCallActionItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallAction}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallActionAdapter() {
+		if (externalCallActionItemProvider == null) {
+			externalCallActionItemProvider = new ExternalCallActionItemProvider(this);
+		}
+
+		return externalCallActionItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCall} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallItemProvider externalCallItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCall}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallAdapter() {
+		if (externalCallItemProvider == null) {
+			externalCallItemProvider = new ExternalCallItemProvider(this);
+		}
+
+		return externalCallItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemand} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ResourceDemandItemProvider resourceDemandItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResourceDemand}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createResourceDemandAdapter() {
+		if (resourceDemandItemProvider == null) {
+			resourceDemandItemProvider = new ResourceDemandItemProvider(this);
+		}
+
+		return resourceDemandItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CoarseGrainedBehaviorItemProvider coarseGrainedBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CoarseGrainedBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCoarseGrainedBehaviorAdapter() {
+		if (coarseGrainedBehaviorItemProvider == null) {
+			coarseGrainedBehaviorItemProvider = new CoarseGrainedBehaviorItemProvider(this);
+		}
+
+		return coarseGrainedBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ExternalCallFrequencyItemProvider externalCallFrequencyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ExternalCallFrequency}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createExternalCallFrequencyAdapter() {
+		if (externalCallFrequencyItemProvider == null) {
+			externalCallFrequencyItemProvider = new ExternalCallFrequencyItemProvider(this);
+		}
+
+		return externalCallFrequencyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected CallFrequencyItemProvider callFrequencyItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.CallFrequency}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createCallFrequencyAdapter() {
+		if (callFrequencyItemProvider == null) {
+			callFrequencyItemProvider = new CallFrequencyItemProvider(this);
+		}
+
+		return callFrequencyItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected BlackBoxBehaviorItemProvider blackBoxBehaviorItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.BlackBoxBehavior}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createBlackBoxBehaviorAdapter() {
+		if (blackBoxBehaviorItemProvider == null) {
+			blackBoxBehaviorItemProvider = new BlackBoxBehaviorItemProvider(this);
+		}
+
+		return blackBoxBehaviorItemProvider;
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTime} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ResponseTimeItemProvider responseTimeItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.servicebehavior.ResponseTime}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createResponseTimeAdapter() {
+		if (responseTimeItemProvider == null) {
+			responseTimeItemProvider = new ResponseTimeItemProvider(this);
+		}
+
+		return responseTimeItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (fineGrainedBehaviorItemProvider != null) fineGrainedBehaviorItemProvider.dispose();
+		if (componentInternalBehaviorItemProvider != null) componentInternalBehaviorItemProvider.dispose();
+		if (acquireActionItemProvider != null) acquireActionItemProvider.dispose();
+		if (releaseActionItemProvider != null) releaseActionItemProvider.dispose();
+		if (internalActionItemProvider != null) internalActionItemProvider.dispose();
+		if (forkActionItemProvider != null) forkActionItemProvider.dispose();
+		if (branchActionItemProvider != null) branchActionItemProvider.dispose();
+		if (branchProbabilitiesItemProvider != null) branchProbabilitiesItemProvider.dispose();
+		if (loopActionItemProvider != null) loopActionItemProvider.dispose();
+		if (loopIterationCountDistributionItemProvider != null) loopIterationCountDistributionItemProvider.dispose();
+		if (externalCallActionItemProvider != null) externalCallActionItemProvider.dispose();
+		if (externalCallItemProvider != null) externalCallItemProvider.dispose();
+		if (resourceDemandItemProvider != null) resourceDemandItemProvider.dispose();
+		if (coarseGrainedBehaviorItemProvider != null) coarseGrainedBehaviorItemProvider.dispose();
+		if (externalCallFrequencyItemProvider != null) externalCallFrequencyItemProvider.dispose();
+		if (callFrequencyItemProvider != null) callFrequencyItemProvider.dispose();
+		if (blackBoxBehaviorItemProvider != null) blackBoxBehaviorItemProvider.dispose();
+		if (responseTimeItemProvider != null) responseTimeItemProvider.dispose();
+	}
+
+}
diff --git a/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4d4a47e98d6143138e06ad575e34f9b3f3e4f3d
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProvider.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.system.provider;
+
+
+import edu.kit.ipd.descartes.mm.applicationlevel.provider.ApplicationlevelEditPlugin;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.repository.provider.ComposedProvidingRequiringEntityItemProvider;
+
+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.system.System} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemItemProvider
+	extends ComposedProvidingRequiringEntityItemProvider
+	implements
+		IEditingDomainItemProvider,
+		IStructuredItemContentProvider,
+		ITreeItemContentProvider,
+		IItemLabelProvider,
+		IItemPropertySource {
+	/**
+	 * This constructs an instance from a factory and a notifier.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SystemItemProvider(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 System.gif.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object getImage(Object object) {
+		return overlayImage(object, getResourceLocator().getImage("full/obj16/System"));
+	}
+
+	/**
+	 * This returns the label text for the adapted class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getText(Object object) {
+		String label = ((edu.kit.ipd.descartes.mm.applicationlevel.system.System)object).getName();
+		return label == null || label.length() == 0 ?
+			getString("_UI_System_type") :
+			getString("_UI_System_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/system/provider/SystemItemProviderAdapterFactory.java b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProviderAdapterFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..ca665f3931067005857050eae55e369ca2dce7fe
--- /dev/null
+++ b/edu.kit.ipd.descartes.mm.applicationlevel.edit/src/edu/kit/ipd/descartes/mm/applicationlevel/system/provider/SystemItemProviderAdapterFactory.java
@@ -0,0 +1,200 @@
+/**
+ * Copyright 2009-2012, Descartes Research Group, SDQ, IPD, KIT
+ */
+package edu.kit.ipd.descartes.mm.applicationlevel.system.provider;
+
+import edu.kit.ipd.descartes.mm.applicationlevel.system.util.SystemAdapterFactory;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SystemItemProviderAdapterFactory extends SystemAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+	/**
+	 * This keeps track of the root adapter factory that delegates to this adapter factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ComposedAdapterFactory parentAdapterFactory;
+
+	/**
+	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+	/**
+	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+	/**
+	 * This constructs an instance.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public SystemItemProviderAdapterFactory() {
+		supportedTypes.add(IEditingDomainItemProvider.class);
+		supportedTypes.add(IStructuredItemContentProvider.class);
+		supportedTypes.add(ITreeItemContentProvider.class);
+		supportedTypes.add(IItemLabelProvider.class);
+		supportedTypes.add(IItemPropertySource.class);
+	}
+
+	/**
+	 * This keeps track of the one adapter used for all {@link edu.kit.ipd.descartes.mm.applicationlevel.system.System} instances.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected SystemItemProvider systemItemProvider;
+
+	/**
+	 * This creates an adapter for a {@link edu.kit.ipd.descartes.mm.applicationlevel.system.System}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter createSystemAdapter() {
+		if (systemItemProvider == null) {
+			systemItemProvider = new SystemItemProvider(this);
+		}
+
+		return systemItemProvider;
+	}
+
+	/**
+	 * This returns the root adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ComposeableAdapterFactory getRootAdapterFactory() {
+		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+	}
+
+	/**
+	 * This sets the composed adapter factory that contains this factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+		this.parentAdapterFactory = parentAdapterFactory;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean isFactoryForType(Object type) {
+		return supportedTypes.contains(type) || super.isFactoryForType(type);
+	}
+
+	/**
+	 * This implementation substitutes the factory itself as the key for the adapter.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Adapter adapt(Notifier notifier, Object type) {
+		return super.adapt(notifier, this);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object adapt(Object object, Object type) {
+		if (isFactoryForType(type)) {
+			Object adapter = super.adapt(object, type);
+			if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+				return adapter;
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * This adds a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void addListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.addListener(notifyChangedListener);
+	}
+
+	/**
+	 * This removes a listener.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void removeListener(INotifyChangedListener notifyChangedListener) {
+		changeNotifier.removeListener(notifyChangedListener);
+	}
+
+	/**
+	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void fireNotifyChanged(Notification notification) {
+		changeNotifier.fireNotifyChanged(notification);
+
+		if (parentAdapterFactory != null) {
+			parentAdapterFactory.fireNotifyChanged(notification);
+		}
+	}
+
+	/**
+	 * This disposes all of the item providers created by this factory. 
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void dispose() {
+		if (systemItemProvider != null) systemItemProvider.dispose();
+	}
+
+}