[CDO] Add CDO'ified models

Add CDO'ified version of Nattable.genmodel
Add CDO'ified version of Architecture.genmodel
Add CDO'ified version of the UML Standard profile

Change-Id: I2d52be0b636ad8d2890da0adc025c9910828a15d
Signed-off-by: Eike Stepper <stepper@esc-net.de>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project
new file mode 100644
index 0000000..ed48dfe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.infra.core.architecture.cdo</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+        <buildCommand>
+            <name>org.eclipse.jdt.core.javabuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>org.eclipse.pde.ManifestBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>org.eclipse.pde.SchemaBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+            <arguments>
+            </arguments>
+        </buildCommand>
+        <buildCommand>
+            <name>org.eclipse.oomph.version.VersionBuilder</name>
+            <arguments>
+                <dictionary>
+                    <key>check.maven.pom</key>
+                    <value>true</value>
+                </dictionary>
+                <dictionary>
+                    <key>ignore.lower.bound.dependency.ranges</key>
+                    <value>true</value>
+                </dictionary>
+                <dictionary>
+                    <key>release.path</key>
+                    <value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+                </dictionary>
+            </arguments>
+        </buildCommand>
+    </buildSpec>
+    <natures>
+        <nature>org.eclipse.pde.PluginNature</nature>
+        <nature>org.eclipse.jdt.core.javanature</nature>
+        <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+        <nature>org.eclipse.oomph.version.VersionNature</nature>
+    </natures>
+</projectDescription>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e6c2798
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.infra.core.architecture.cdo;singleton:=true
+Automatic-Module-Name: org.eclipse.papyrus.infra.core.architecture.cdo
+Bundle-Version: 2.1.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.infra.core.architecture.cdo
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[2.1.0,3.0.0)"
+Bundle-ActivationPolicy: lazy
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html
new file mode 100644
index 0000000..3e183aa
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 30, 2017</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties
new file mode 100644
index 0000000..543fdec
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/build.properties
@@ -0,0 +1,23 @@
+* Copyright (c) 2017 CEA LIST.
+# 
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License 2.0
+#  which accompanies this distribution, and is available at
+#  https://www.eclipse.org/legal/epl-2.0/
+#
+#  SPDX-License-Identifier: EPL-2.0
+#  
+#  Contributors:
+#  Maged Elaasar - Initial API and implementation
+#  
+# 
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird
new file mode 100644
index 0000000..6069591
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.aird
@@ -0,0 +1,977 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
+  <viewpoint:DAnalysis xmi:id="_xGjjUO0AEeaf8aQEde1Z1Q" selectedViews="_ya3q4O0AEeaf8aQEde1Z1Q _ybEfMO0AEeaf8aQEde1Z1Q _ybFtUO0AEeaf8aQEde1Z1Q _ybMbAO0AEeaf8aQEde1Z1Q" version="11.1.0.201608251200">
+    <semanticResources>Architecture.ecore</semanticResources>
+    <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
+    <semanticResources>platform:/resource/org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore</semanticResources>
+    <semanticResources>Architecture.genmodel</semanticResources>
+    <semanticResources>platform:/resource/org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel</semanticResources>
+    <ownedViews xmi:type="viewpoint:DView" xmi:id="_ya3q4O0AEeaf8aQEde1Z1Q">
+      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" xmi:id="_5z_NgO0AEeaf8aQEde1Z1Q" name="architecture class diagram" representation="_5z_0kO0AEeaf8aQEde1Z1Q">
+        <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+        <target xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+      </ownedRepresentationDescriptors>
+    </ownedViews>
+    <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybEfMO0AEeaf8aQEde1Z1Q">
+      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
+    </ownedViews>
+    <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybFtUO0AEeaf8aQEde1Z1Q">
+      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
+    </ownedViews>
+    <ownedViews xmi:type="viewpoint:DView" xmi:id="_ybMbAO0AEeaf8aQEde1Z1Q">
+      <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
+    </ownedViews>
+  </viewpoint:DAnalysis>
+  <diagram:DSemanticDiagram xmi:id="_5z_0kO0AEeaf8aQEde1Z1Q" name="architecture class diagram">
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_5z_0ke0AEeaf8aQEde1Z1Q" source="DANNOTATION_CUSTOMIZATION_KEY">
+      <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_5z_0ku0AEeaf8aQEde1Z1Q">
+        <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7Qb9YO0AEeaf8aQEde1Z1Q" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+          <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <labelFormat>bold</labelFormat>
+          <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+        </computedStyleDescriptions>
+        <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7QirEO0AEeaf8aQEde1Z1Q" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+          <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
+          <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+        </computedStyleDescriptions>
+        <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_7Qr1AO0AEeaf8aQEde1Z1Q" labelExpression="service:renderAsNode" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
+          <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <labelFormat>bold</labelFormat>
+          <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
+        </computedStyleDescriptions>
+        <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_7SFjMe0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:renderEOpposite">
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </beginLabelStyleDescription>
+          <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_7SFjMu0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:render">
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </endLabelStyleDescription>
+        </computedStyleDescriptions>
+        <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_7SMQ4O0AEeaf8aQEde1Z1Q" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan">
+          <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_7SMQ4e0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:renderEOpposite">
+            <labelFormat>bold</labelFormat>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </beginLabelStyleDescription>
+          <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_7SMQ4u0AEeaf8aQEde1Z1Q" showIcon="false" labelExpression="service:render">
+            <labelFormat>bold</labelFormat>
+            <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
+          </endLabelStyleDescription>
+        </computedStyleDescriptions>
+      </data>
+    </ownedAnnotationEntries>
+    <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_53Qj8O0AEeaf8aQEde1Z1Q" source="GMF_DIAGRAMS">
+      <data xmi:type="notation:Diagram" xmi:id="_53Qj8e0AEeaf8aQEde1Z1Q" type="Sirius" element="_5z_0kO0AEeaf8aQEde1Z1Q" measurementUnit="Pixel">
+        <children xmi:type="notation:Node" xmi:id="_7SZsQO0AEeaf8aQEde1Z1Q" type="2003" element="_7PdF8O0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SbhcO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7Sfy4O0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7StOQO0AEeaf8aQEde1Z1Q" type="3010" element="_7QZhIO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7StOQe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7StOQu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7St1UO0AEeaf8aQEde1Z1Q" type="3010" element="_7Qg14O0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7St1Ue0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7St1Uu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7St1U-0AEeaf8aQEde1Z1Q" type="3010" element="_7QiEAO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7St1VO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7St1Ve0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7Sfy4e0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7Sfy4u0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SZsQe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SZsQu0AEeaf8aQEde1Z1Q" x="267" y="21" height="82"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SgZ8O0AEeaf8aQEde1Z1Q" type="2003" element="_7Pp6QO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7ShoEO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7ShoEe0AEeaf8aQEde1Z1Q" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7ShoEu0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7ShoE-0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SgZ8e0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SgZ8u0AEeaf8aQEde1Z1Q" x="123" y="117" height="57"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SiPIO0AEeaf8aQEde1Z1Q" type="2003" element="_7Ps9kO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SjdQO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7SjdQe0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7SucYO0AEeaf8aQEde1Z1Q" type="3010" element="_7QkgQO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SucYe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SucYu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7SucY-0AEeaf8aQEde1Z1Q" type="3010" element="_7QtDIO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SucZO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SucZe0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SjdQu0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7SjdQ-0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SiPIe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SiPIu0AEeaf8aQEde1Z1Q" x="324" y="270" height="66"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SkEUO0AEeaf8aQEde1Z1Q" type="2003" element="_7PvZ0O0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SkrYO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7SlScO0AEeaf8aQEde1Z1Q" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SlSce0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7SlScu0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SkEUe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SkEUu0AEeaf8aQEde1Z1Q" x="126" y="274" height="57"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SlSc-0AEeaf8aQEde1Z1Q" type="2003" element="_7PxPAO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7Sl5gO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7Sl5ge0AEeaf8aQEde1Z1Q" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SmgkO0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7Smgke0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SlSdO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SlSde0AEeaf8aQEde1Z1Q" x="123" y="432" height="57"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7Smgku0AEeaf8aQEde1Z1Q" type="2003" element="_7PzEMO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SnHoO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7SnHoe0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7SvDcO0AEeaf8aQEde1Z1Q" type="3010" element="_7Qu4UO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SvDce0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SvDcu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SnHou0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7SnHo-0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7Smgk-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SmglO0AEeaf8aQEde1Z1Q" x="600" y="432" height="57"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SnHpO0AEeaf8aQEde1Z1Q" type="2003" element="_7P1gcO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SnusO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7So80O0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7SvqgO0AEeaf8aQEde1Z1Q" type="3010" element="_7QxUkO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7Svqge0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7Svqgu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7So80e0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7So80u0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SnHpe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SnHpu0AEeaf8aQEde1Z1Q" x="339" y="432" height="57"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7So80-0AEeaf8aQEde1Z1Q" type="2003" element="_7P5x4O0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7Spj4O0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7Spj4e0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7Svqg-0AEeaf8aQEde1Z1Q" type="3010" element="_7QyisO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SvqhO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7Svqhe0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7SwRkO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q0X4O0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SwRke0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRku0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7SwRk-0AEeaf8aQEde1Z1Q" type="3010" element="_7Q0-8e0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SwRlO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRle0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7SwRlu0AEeaf8aQEde1Z1Q" type="3010" element="_7Q2NEO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7SwRl-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7SwRmO0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7Sw4oO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q3bMO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7Sw4oe0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sw4ou0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_7Sw4o-0AEeaf8aQEde1Z1Q" type="3010" element="_7Q4pUO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7Sw4pO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sw4pe0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7Spj4u0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7Spj4-0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7So81O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" italic="true"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7So81e0AEeaf8aQEde1Z1Q" x="376" y="117"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SqK8O0AEeaf8aQEde1Z1Q" type="2003" element="_7P7nEO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SqK8-0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7SqyAO0AEeaf8aQEde1Z1Q" type="7004">
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SqyAe0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7SqyAu0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SqK8e0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SqK8u0AEeaf8aQEde1Z1Q" x="495" y="270" height="66"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_7SqyA-0AEeaf8aQEde1Z1Q" type="2003" element="_7P9cQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7SrZEO0AEeaf8aQEde1Z1Q" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_7SrZEe0AEeaf8aQEde1Z1Q" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_7SxfsO0AEeaf8aQEde1Z1Q" type="3010" element="_7Q53cO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_7Sxfse0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_7Sxfsu0AEeaf8aQEde1Z1Q"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_7SrZEu0AEeaf8aQEde1Z1Q"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_7SrZE-0AEeaf8aQEde1Z1Q"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_7SqyBO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7SqyBe0AEeaf8aQEde1Z1Q" x="234" y="189" height="55"/>
+        </children>
+        <children xmi:type="notation:Node" xmi:id="_anAukPaMEeazb43LOF1y5w" type="2003" element="_amJL4PaMEeazb43LOF1y5w">
+          <children xmi:type="notation:Node" xmi:id="_anjhIPaMEeazb43LOF1y5w" type="5007"/>
+          <children xmi:type="notation:Node" xmi:id="_ankIMPaMEeazb43LOF1y5w" type="7004">
+            <children xmi:type="notation:Node" xmi:id="_NLxcAPaNEeazb43LOF1y5w" type="3010" element="_7Q7FkO0AEeaf8aQEde1Z1Q">
+              <styles xmi:type="notation:FontStyle" xmi:id="_NLxcAfaNEeazb43LOF1y5w" fontName=".SF NS Text" fontHeight="8"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_NLxcAvaNEeazb43LOF1y5w"/>
+            </children>
+            <styles xmi:type="notation:SortingStyle" xmi:id="_ankIMfaMEeazb43LOF1y5w"/>
+            <styles xmi:type="notation:FilteringStyle" xmi:id="_ankIMvaMEeazb43LOF1y5w"/>
+          </children>
+          <styles xmi:type="notation:ShapeStyle" xmi:id="_anAukfaMEeazb43LOF1y5w" fontName=".SF NS Text" fontHeight="8"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_anAukvaMEeazb43LOF1y5w" x="234" y="351" height="57"/>
+        </children>
+        <styles xmi:type="notation:DiagramStyle" xmi:id="_53Qj8u0AEeaf8aQEde1Z1Q"/>
+        <edges xmi:type="notation:Edge" xmi:id="_7S-UAO0AEeaf8aQEde1Z1Q" type="4001" element="_7REPgO0AEeaf8aQEde1Z1Q" source="_7SkEUO0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TAwQO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TAwQe0AEeaf8aQEde1Z1Q" x="38" y="33"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TB-YO0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TB-Ye0AEeaf8aQEde1Z1Q" x="39" y="-7"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TDMgO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TDMge0AEeaf8aQEde1Z1Q" x="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7S-UAe0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7S-UAu0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7S-UA-0AEeaf8aQEde1Z1Q" points="[-60, -10, 61, -122]$[-60, 93, 61, -19]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TQA0O0AEeaf8aQEde1Z1Q" id="(1.0,1.1878787425648083)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TQn4O0AEeaf8aQEde1Z1Q" id="(0.0,0.3563636363636364)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TQn4e0AEeaf8aQEde1Z1Q" type="4001" element="_7Rvk8O0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TRO8O0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TRO8e0AEeaf8aQEde1Z1Q" x="198" y="13"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TR2AO0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TR2Ae0AEeaf8aQEde1Z1Q" x="45" y="-9"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TR2Au0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TR2A-0AEeaf8aQEde1Z1Q" x="-2" y="36"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TQn4u0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TQn4-0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TQn5O0AEeaf8aQEde1Z1Q" points="[-58, -3, 537, -23]$[-58, 19, 537, -1]$[-535, 19, 60, -1]$[-535, -3, 60, -23]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TSdEO0AEeaf8aQEde1Z1Q" id="(1.0,1.069090909090909)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TSdEe0AEeaf8aQEde1Z1Q" id="(0.0,1.4254545454545455)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TSdEu0AEeaf8aQEde1Z1Q" type="4001" element="_7RxaIO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SnHpO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TTEIO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEIe0AEeaf8aQEde1Z1Q" x="12" y="-14"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TTEIu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEI-0AEeaf8aQEde1Z1Q" x="85" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TTEJO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TTEJe0AEeaf8aQEde1Z1Q" x="14" y="-10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TSdE-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TSdFO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TSdFe0AEeaf8aQEde1Z1Q" points="[-118, -3, 261, -29]$[-261, -3, 118, -29]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TTrMO0AEeaf8aQEde1Z1Q" id="(1.0,0.7127272727272728)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TTrMe0AEeaf8aQEde1Z1Q" id="(0.0,1.1878786066228695)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TTrMu0AEeaf8aQEde1Z1Q" type="4001" element="_7RyBM-0AEeaf8aQEde1Z1Q" source="_7SnHpO0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TUSQO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TUSQe0AEeaf8aQEde1Z1Q" x="12" y="-14"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TUSQu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TUSQ-0AEeaf8aQEde1Z1Q" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TU5UO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TU5Ue0AEeaf8aQEde1Z1Q" x="3" y="-10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TTrM-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TTrNO0AEeaf8aQEde1Z1Q" fontColor="7490599" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TTrNe0AEeaf8aQEde1Z1Q" points="[-118, -5, 216, -31]$[-216, -5, 118, -31]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TU5Uu0AEeaf8aQEde1Z1Q" id="(1.0,0.5939395751953125)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TU5U-0AEeaf8aQEde1Z1Q" id="(0.0,1.069090909090909)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TU5VO0AEeaf8aQEde1Z1Q" type="4001" element="_7R0dcO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TVgYO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgYe0AEeaf8aQEde1Z1Q" x="-2" y="-10"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TVgYu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgY-0AEeaf8aQEde1Z1Q" x="-18" y="53"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TVgZO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TVgZe0AEeaf8aQEde1Z1Q" x="2" y="-31"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TU5Ve0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TU5Vu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TU5V-0AEeaf8aQEde1Z1Q" points="[-14, -39, -40, 69]$[-14, -65, -40, 43]$[26, -65, 0, 43]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TWHcO0AEeaf8aQEde1Z1Q" id="(1.0,0.7127272727272728)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TWHce0AEeaf8aQEde1Z1Q" id="(0.0,0.3499999732971191)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TWHcu0AEeaf8aQEde1Z1Q" type="4001" element="_7R5V8O0AEeaf8aQEde1Z1Q" source="_7SiPIO0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TWugO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWuge0AEeaf8aQEde1Z1Q" x="-4" y="1"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TWugu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWug-0AEeaf8aQEde1Z1Q" x="4" y="-5"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TWuhO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TWuhe0AEeaf8aQEde1Z1Q" x="-12"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TWHc-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TWHdO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TWHde0AEeaf8aQEde1Z1Q" points="[-58, -32, 40, 78]$[-58, -60, 40, 50]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TXVkO0AEeaf8aQEde1Z1Q" id="(1.0,0.5104168224334716)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TXVke0AEeaf8aQEde1Z1Q" id="(0.0,0.6000000961183563)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TXVku0AEeaf8aQEde1Z1Q" type="4001" element="_7R7LIO0AEeaf8aQEde1Z1Q" source="_7SkEUO0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TX8oO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8oe0AEeaf8aQEde1Z1Q" x="-194" y="3"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TX8ou0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8o-0AEeaf8aQEde1Z1Q" x="-14" y="12"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TX8pO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TX8pe0AEeaf8aQEde1Z1Q" x="12" y="10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TXVk-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TXVlO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TXVle0AEeaf8aQEde1Z1Q" points="[-118, 0, -141, 271]$[-193, 0, -216, 271]$[-193, -246, -216, 25]$[23, -246, 0, 25]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TYjsO0AEeaf8aQEde1Z1Q" id="(1.0,0.5939393033114347)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TYjse0AEeaf8aQEde1Z1Q" id="(0.0,0.1750000801086426)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TYjsu0AEeaf8aQEde1Z1Q" type="4001" element="_7R8ZQO0AEeaf8aQEde1Z1Q" source="_7SlSc-0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TZKwO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKwe0AEeaf8aQEde1Z1Q" x="-40" y="-8"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TZKwu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKw-0AEeaf8aQEde1Z1Q" x="-108" y="-5"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TZKxO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TZKxe0AEeaf8aQEde1Z1Q" x="-114" y="43"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TYjs-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TYjtO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TYjte0AEeaf8aQEde1Z1Q" points="[-118, -4, -144, 414]$[-208, -4, -234, 414]$[-208, -444, -234, -26]$[26, -444, 0, -26]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TZx0O0AEeaf8aQEde1Z1Q" id="(1.0,0.8909090909090909)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TZx0e0AEeaf8aQEde1Z1Q" id="(0.0,0.5250000534057617)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TZx0u0AEeaf8aQEde1Z1Q" type="4001" element="_7R9nYO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TZx1u0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY4O0AEeaf8aQEde1Z1Q" x="-284" y="14"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TaY4e0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY4u0AEeaf8aQEde1Z1Q" x="-76"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TaY4-0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TaY5O0AEeaf8aQEde1Z1Q" x="-181" y="-217"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TZx0-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TZx1O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TZx1e0AEeaf8aQEde1Z1Q" points="[-37, -78, 414, 327]$[-37, -450, 414, -45]$[-330, -450, 121, -45]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TaY5e0AEeaf8aQEde1Z1Q" id="(1.0,1.4254545454545455)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TaY5u0AEeaf8aQEde1Z1Q" id="(0.0,1.0500001068115234)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7Ta_8O0AEeaf8aQEde1Z1Q" type="4001" element="_7R-1gO0AEeaf8aQEde1Z1Q" source="_7SnHpO0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7Ta_9O0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Ta_9e0AEeaf8aQEde1Z1Q" x="-57" y="-1"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7Ta_9u0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Ta_9-0AEeaf8aQEde1Z1Q" x="163" y="-50"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TbnAO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TbnAe0AEeaf8aQEde1Z1Q" x="-144" y="-175"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Ta_8e0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7Ta_8u0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Ta_8-0AEeaf8aQEde1Z1Q" points="[-58, -10, 132, 396]$[-58, -2, 132, 404]$[272, -2, 462, 404]$[272, -460, 462, -54]$[-69, -460, 121, -54]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TbnAu0AEeaf8aQEde1Z1Q" id="(1.0,1.1878786066228695)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TbnA-0AEeaf8aQEde1Z1Q" id="(0.0,0.8750000267028808)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TcOEO0AEeaf8aQEde1Z1Q" type="4001" element="_7SAqsO0AEeaf8aQEde1Z1Q" source="_7So80-0AEeaf8aQEde1Z1Q" target="_7SZsQO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TcOFO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TcOFe0AEeaf8aQEde1Z1Q" x="-3" y="-23"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7Tc1IO0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tc1Ie0AEeaf8aQEde1Z1Q" x="-15" y="18"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7Tc1Iu0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tc1I-0AEeaf8aQEde1Z1Q" x="-35" y="-10"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TcOEe0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TcOEu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TcOE-0AEeaf8aQEde1Z1Q" points="[-102, -62, 219, 40]$[-102, -88, 219, 14]$[-195, -88, 126, 14]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TdcMO0AEeaf8aQEde1Z1Q" id="(1.0,0.5)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeDQO0AEeaf8aQEde1Z1Q" id="(0.0,0.7000001335144044)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TeDQe0AEeaf8aQEde1Z1Q" type="4001" element="_7SB40O0AEeaf8aQEde1Z1Q" source="_7SqK8O0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TeDRe0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeDRu0AEeaf8aQEde1Z1Q" x="-7"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TeqUO0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeqUe0AEeaf8aQEde1Z1Q" x="1" y="9"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TeqUu0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TeqU-0AEeaf8aQEde1Z1Q" x="-18" y="-9"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TeDQu0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TeDQ-0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TeDRO0AEeaf8aQEde1Z1Q" points="[-60, -48, 177, 104]$[-60, -76, 177, 76]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeqVO0AEeaf8aQEde1Z1Q" id="(1.0,0.7656247663497925)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TeqVe0AEeaf8aQEde1Z1Q" id="(0.0,0.3999999038816437)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TeqVu0AEeaf8aQEde1Z1Q" type="4001" element="_7SDuAO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SlSc-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TfRYO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRYe0AEeaf8aQEde1Z1Q" x="35"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TfRYu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRY-0AEeaf8aQEde1Z1Q" x="-41" y="9"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TfRZO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TfRZe0AEeaf8aQEde1Z1Q" x="41" y="5"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TeqV-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TeqWO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TeqWe0AEeaf8aQEde1Z1Q" points="[-118, -30, 0, -326]$[-145, -30, -27, -326]$[-145, 275, -27, -21]$[-118, 275, 0, -21]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tf4cO0AEeaf8aQEde1Z1Q" id="(1.0,1.069090909090909)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tf4ce0AEeaf8aQEde1Z1Q" id="(0.0,0.7127272727272728)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7Tf4cu0AEeaf8aQEde1Z1Q" type="4001" element="_7SGKQO0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7Tf4du0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tf4d-0AEeaf8aQEde1Z1Q" x="-40" y="19"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TgfgO0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tgfge0AEeaf8aQEde1Z1Q" x="15" y="14"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7Tgfgu0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tgfg-0AEeaf8aQEde1Z1Q" x="-16" y="-13"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tf4c-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7Tf4dO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tf4de0AEeaf8aQEde1Z1Q" points="[0, -51, -135, 3]$[135, -51, 0, 3]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7TgfhO0AEeaf8aQEde1Z1Q" id="(1.0,1.4254545454545455)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tgfhe0AEeaf8aQEde1Z1Q" id="(0.0,0.19999995194082185)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7Tgfhu0AEeaf8aQEde1Z1Q" type="4001" element="_7SHYY-0AEeaf8aQEde1Z1Q" source="_7SgZ8O0AEeaf8aQEde1Z1Q" target="_7SkEUO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7ThGkO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGke0AEeaf8aQEde1Z1Q" x="34"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7ThGku0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGk-0AEeaf8aQEde1Z1Q" x="7" y="38"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7ThGlO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ThGle0AEeaf8aQEde1Z1Q" x="-2" y="46"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tgfh-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TgfiO0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tgfie0AEeaf8aQEde1Z1Q" points="[-52, 36, 63, -151]$[-52, 138, 63, -49]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7ThtoO0AEeaf8aQEde1Z1Q" id="(1.0,0.3563636363636364)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Thtoe0AEeaf8aQEde1Z1Q" id="(0.0,0.8909090909090909)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7TiUsO0AEeaf8aQEde1Z1Q" type="4001" element="_7SJNkO0AEeaf8aQEde1Z1Q" source="_7SiPIO0AEeaf8aQEde1Z1Q" target="_7SnHpO0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7Tji0O0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tji0e0AEeaf8aQEde1Z1Q" x="6"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TkJ4O0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TkJ4e0AEeaf8aQEde1Z1Q" x="-2" y="-41"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TkJ4u0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TkJ4-0AEeaf8aQEde1Z1Q" x="2" y="-59"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7TiUse0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7TiUsu0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7TiUs-0AEeaf8aQEde1Z1Q" points="[-87, -1, 48, -130]$[-87, 97, 48, -32]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tkw8O0AEeaf8aQEde1Z1Q" id="(1.0,1.0208336448669433)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tkw8e0AEeaf8aQEde1Z1Q" id="(0.0,0.5939395751953125)"/>
+        </edges>
+        <edges xmi:type="notation:Edge" xmi:id="_7Tkw8u0AEeaf8aQEde1Z1Q" type="4001" element="_7SLCwO0AEeaf8aQEde1Z1Q" source="_7Smgku0AEeaf8aQEde1Z1Q" target="_7So80-0AEeaf8aQEde1Z1Q">
+          <children xmi:type="notation:Node" xmi:id="_7TlYAO0AEeaf8aQEde1Z1Q" type="6001">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TlYAe0AEeaf8aQEde1Z1Q" x="-25"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7TlYAu0AEeaf8aQEde1Z1Q" type="6002">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7TlYA-0AEeaf8aQEde1Z1Q" x="-34" y="-42"/>
+          </children>
+          <children xmi:type="notation:Node" xmi:id="_7Tl_EO0AEeaf8aQEde1Z1Q" type="6003">
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7Tl_Ee0AEeaf8aQEde1Z1Q" x="6" y="13"/>
+          </children>
+          <styles xmi:type="notation:ConnectorStyle" xmi:id="_7Tkw8-0AEeaf8aQEde1Z1Q" routing="Rectilinear"/>
+          <styles xmi:type="notation:FontStyle" xmi:id="_7Tkw9O0AEeaf8aQEde1Z1Q" fontName=".SF NS Text" fontHeight="8" bold="true"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7Tkw9e0AEeaf8aQEde1Z1Q" points="[-75, -19, 267, 215]$[-75, -271, 267, -37]$[-133, -271, 209, -37]"/>
+          <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tl_Eu0AEeaf8aQEde1Z1Q" id="(1.0,0.3563636363636364)"/>
+          <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7Tl_E-0AEeaf8aQEde1Z1Q" id="(0.0,0.8000000480591781)"/>
+        </edges>
+      </data>
+    </ownedAnnotationEntries>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PdF8O0AEeaf8aQEde1Z1Q" name="ADElement" tooltipText="" incomingEdges="_7R0dcO0AEeaf8aQEde1Z1Q _7R7LIO0AEeaf8aQEde1Z1Q _7R8ZQO0AEeaf8aQEde1Z1Q _7R9nYO0AEeaf8aQEde1Z1Q _7R-1gO0AEeaf8aQEde1Z1Q _7SAqsO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7Plo0O0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+        <labelFormat>italic</labelFormat>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QZhIO0AEeaf8aQEde1Z1Q" name="name : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/name"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/name"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QgO0O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Qg14O0AEeaf8aQEde1Z1Q" name="desciption : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/desciption"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/desciption"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qhc8O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QiEAO0AEeaf8aQEde1Z1Q" name="/qualifiedName : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/qualifiedName"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ADElement/qualifiedName"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QjSIO0AEeaf8aQEde1Z1Q" labelColor="39,76,114" labelAlignment="LEFT" description="_7QirEO0AEeaf8aQEde1Z1Q"/>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7Pp6QO0AEeaf8aQEde1Z1Q" name="ArchitectureDomain" tooltipText="" outgoingEdges="_7R0dcO0AEeaf8aQEde1Z1Q _7SDuAO0AEeaf8aQEde1Z1Q _7SGKQO0AEeaf8aQEde1Z1Q _7SHYY-0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PrIYO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7Ps9kO0AEeaf8aQEde1Z1Q" name="ArchitectureDescriptionLanguage" tooltipText="" outgoingEdges="_7R5V8O0AEeaf8aQEde1Z1Q _7SJNkO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PuLsO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QkgQO0AEeaf8aQEde1Z1Q" name=" metamodel : EPackage" tooltipText="">
+        <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+        <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QscEO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qr1AO0AEeaf8aQEde1Z1Q" color="114,159,207">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QtDIO0AEeaf8aQEde1Z1Q" name=" profiles : EPackage" tooltipText="">
+        <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+        <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QtqMO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" color="114,159,207">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PvZ0O0AEeaf8aQEde1Z1Q" name="Stakeholder" tooltipText="" outgoingEdges="_7REPgO0AEeaf8aQEde1Z1Q _7R7LIO0AEeaf8aQEde1Z1Q" incomingEdges="_7SHYY-0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7PwA4O0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PxPAO0AEeaf8aQEde1Z1Q" name="Concern" tooltipText="" outgoingEdges="_7R8ZQO0AEeaf8aQEde1Z1Q" incomingEdges="_7REPgO0AEeaf8aQEde1Z1Q _7Rvk8O0AEeaf8aQEde1Z1Q _7RyBM-0AEeaf8aQEde1Z1Q _7SDuAO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7Px2EO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7PzEMO0AEeaf8aQEde1Z1Q" name="ArchitectureViewpoint" tooltipText="" outgoingEdges="_7Rvk8O0AEeaf8aQEde1Z1Q _7RxaIO0AEeaf8aQEde1Z1Q _7R9nYO0AEeaf8aQEde1Z1Q _7SLCwO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P0SUO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Qu4UO0AEeaf8aQEde1Z1Q" name="id : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureViewpoint/id"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureViewpoint/id"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7QwGcO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P1gcO0AEeaf8aQEde1Z1Q" name="RepresentationKind" tooltipText="" outgoingEdges="_7RyBM-0AEeaf8aQEde1Z1Q _7R-1gO0AEeaf8aQEde1Z1Q" incomingEdges="_7RxaIO0AEeaf8aQEde1Z1Q _7SJNkO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P5K0O0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+        <labelFormat>italic</labelFormat>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QxUkO0AEeaf8aQEde1Z1Q" name="icon : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//RepresentationKind/icon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//RepresentationKind/icon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qx7oO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P5x4O0AEeaf8aQEde1Z1Q" name="ArchitectureContext" tooltipText="" outgoingEdges="_7SAqsO0AEeaf8aQEde1Z1Q" incomingEdges="_7R5V8O0AEeaf8aQEde1Z1Q _7SB40O0AEeaf8aQEde1Z1Q _7SGKQO0AEeaf8aQEde1Z1Q _7SLCwO0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P7AAO0AEeaf8aQEde1Z1Q" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
+        <labelFormat>italic</labelFormat>
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7QyisO0AEeaf8aQEde1Z1Q" name="id : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/id"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/id"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Qzw0O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q0X4O0AEeaf8aQEde1Z1Q" name="icon : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/icon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/icon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q0-8O0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q0-8e0AEeaf8aQEde1Z1Q" name="extensionPrefix : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q1mAO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q2NEO0AEeaf8aQEde1Z1Q" name="creationCommandClass : EJavaClass" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q20IO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" description="_7Qb9YO0AEeaf8aQEde1Z1Q">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q3bMO0AEeaf8aQEde1Z1Q" name="conversionCommandClass : EJavaClass" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q4CQO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q4pUO0AEeaf8aQEde1Z1Q" name=" elementTypes : ElementTypeSetConfiguration" tooltipText="">
+        <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/elementTypes"/>
+        <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/elementTypes"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q5QYO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT" color="114,159,207">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P7nEO0AEeaf8aQEde1Z1Q" name="ArchitectureFramework" tooltipText="" outgoingEdges="_7SB40O0AEeaf8aQEde1Z1Q" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P81MO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_7P9cQO0AEeaf8aQEde1Z1Q" name="ArchitectureDescription" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_7P-qYO0AEeaf8aQEde1Z1Q" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q53cO0AEeaf8aQEde1Z1Q" name="contextId : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescription/contextId"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescription/contextId"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q6egO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7REPgO0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7PvZ0O0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RuW0O0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RuW0e0AEeaf8aQEde1Z1Q" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RuW0u0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7Rvk8O0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RwzEO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RwzEe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RwzEu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7RxaIO0AEeaf8aQEde1Z1Q" name="[0..*] representationKinds" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7P1gcO0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RyBMO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RyBMe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RyBMu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7RyBM-0AEeaf8aQEde1Z1Q" name="[0..*] concerns" sourceNode="_7P1gcO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7RyoQO0AEeaf8aQEde1Z1Q" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7RyoQe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <customFeatures>labelSize</customFeatures>
+        </centerLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7RyoQu0AEeaf8aQEde1Z1Q" showIcon="false" labelColor="39,76,114">
+          <customFeatures>labelSize</customFeatures>
+        </endLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R0dcO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureDomain/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R4u4O0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R4u4e0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R4u4u0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R5V8O0AEeaf8aQEde1Z1Q" sourceNode="_7Ps9kO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureDescriptionLanguage/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R6kEO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R6kEe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R6kEu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R7LIO0AEeaf8aQEde1Z1Q" sourceNode="_7PvZ0O0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//Stakeholder/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R7yMO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R7yMe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R7yMu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R8ZQO0AEeaf8aQEde1Z1Q" sourceNode="_7PxPAO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//Concern/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R9AUO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R9AUe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R9AUu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R9nYO0AEeaf8aQEde1Z1Q" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureViewpoint/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7R-OcO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7R-Oce0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7R-Ocu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7R-1gO0AEeaf8aQEde1Z1Q" sourceNode="_7P1gcO0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//RepresentationKind/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SADoO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SADoe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SADou0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SAqsO0AEeaf8aQEde1Z1Q" sourceNode="_7P5x4O0AEeaf8aQEde1Z1Q" targetNode="_7PdF8O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureContext/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SBRwO0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SBRwe0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SBRwu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SB40O0AEeaf8aQEde1Z1Q" sourceNode="_7P7nEO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+      <semanticElements xmi:type="ecore:EGenericType" href="Architecture.ecore#//ArchitectureFramework/@eGenericSuperTypes.0"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SCf4O0AEeaf8aQEde1Z1Q" targetArrow="InputClosedArrow" routingStyle="manhattan">
+        <customFeatures>routingStyle</customFeatures>
+        <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SCf4e0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>italic</labelFormat>
+        </beginLabelStyle>
+        <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_7SCf4u0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SDuAO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PxPAO0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] concerns">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Concern/domain"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SFjM-0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SFjNO0AEeaf8aQEde1Z1Q" showIcon="false"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SFjNe0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SGKQO0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] contexts">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/domain"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SHYYO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SHYYe0AEeaf8aQEde1Z1Q" showIcon="false"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SHYYu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SHYY-0AEeaf8aQEde1Z1Q" sourceNode="_7Pp6QO0AEeaf8aQEde1Z1Q" targetNode="_7PvZ0O0AEeaf8aQEde1Z1Q" beginLabel="[1..1] domain" endLabel="[0..*] stakeholders">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/domain"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SImgO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SImge0AEeaf8aQEde1Z1Q" showIcon="false"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SImgu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SJNkO0AEeaf8aQEde1Z1Q" sourceNode="_7Ps9kO0AEeaf8aQEde1Z1Q" targetNode="_7P1gcO0AEeaf8aQEde1Z1Q" beginLabel="[1..1] language" endLabel="[0..*] representationKinds">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/language"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SKbsO0AEeaf8aQEde1Z1Q" description="_7SFjMO0AEeaf8aQEde1Z1Q" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SKbse0AEeaf8aQEde1Z1Q" showIcon="false"/>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SKbsu0AEeaf8aQEde1Z1Q" showIcon="false"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_7SLCwO0AEeaf8aQEde1Z1Q" sourceNode="_7PzEMO0AEeaf8aQEde1Z1Q" targetNode="_7P5x4O0AEeaf8aQEde1Z1Q" beginLabel="[0..*] viewpoints" endLabel="[1..1] context">
+      <target xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/context"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/context"/>
+      <semanticElements xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/viewpoints"/>
+      <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_7SMQ4-0AEeaf8aQEde1Z1Q" description="_7SMQ4O0AEeaf8aQEde1Z1Q" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
+        <customFeatures>routingStyle</customFeatures>
+        <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_7SM38O0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>bold</labelFormat>
+        </beginLabelStyle>
+        <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_7SM38e0AEeaf8aQEde1Z1Q" showIcon="false">
+          <labelFormat>bold</labelFormat>
+        </endLabelStyle>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
+    </ownedDiagramElements>
+    <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_amJL4PaMEeazb43LOF1y5w" name="ArchitectureDescriptionPreferences" tooltipText="" width="12" height="10">
+      <target xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+      <semanticElements xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+      <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
+      <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
+      <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
+      <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_amKaAPaMEeazb43LOF1y5w" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
+        <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
+      </ownedStyle>
+      <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
+      <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_7Q7FkO0AEeaf8aQEde1Z1Q" name="viewpointIds : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+        <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_7Q7soO0AEeaf8aQEde1Z1Q" labelAlignment="LEFT">
+          <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+    </ownedDiagramElements>
+    <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
+    <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_5z_0le0AEeaf8aQEde1Z1Q"/>
+    <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
+    <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
+    <target xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+  </diagram:DSemanticDiagram>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore
new file mode 100644
index 0000000..a0a5bfd
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="architecture" nsURI="http://www.eclipse.org/papyrus/infra/core/architecture"
+    nsPrefix="architecture">
+  <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+    <details key="documentation" value="An architecture context is a method for customizing Papyrus for a given domain. It defines a regime for editing a Papyrus model semantically and notationally. The semantic editing is defined by a set of element type set configurations (from some domain), while the notational side is defined by a set of viewpoints consisting of a set of representation kinds (e.g., diagram kinds and table kinds) and other notational configurations...."/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="ADElement" abstract="true">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="The superclass of all architecture elements"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The unique id of the element"/>
+        <details key="propertyDescription" value="The unique id of the element"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The name of the element"/>
+        <details key="propertyDescription" value="The name of the element"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The description of the element"/>
+        <details key="propertyDescription" value="The description of the element"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        changeable="false" volatile="true" transient="true" derived="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The qualified name of the element"/>
+        <details key="propertyDescription" value="The qualified name of the element"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="icon" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The icon of the element specified using a platform plugin URI"/>
+        <details key="propertyDescription" value="The icon of the element specified using a platform plugin URI"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDomain" eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A domain is the root of the architecture model. It can contains a collection of concerns, stakeholders, as well as contexts (which can be description languages and/or frameworks)."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholders" upperBound="-1"
+        eType="#//Stakeholder" containment="true" eOpposite="#//Stakeholder/domain">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of stakeholders defined by the domain"/>
+        <details key="propertyDescription" value="The set of stakeholders defined by the domain"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+        eType="#//Concern" containment="true" eOpposite="#//Concern/domain">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of concerns defined by the domain"/>
+        <details key="propertyDescription" value="The set of concerns defined by the domain"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="contexts" upperBound="-1"
+        eType="#//ArchitectureContext" containment="true" eOpposite="#//ArchitectureContext/domain">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of contexts defined by the domain"/>
+        <details key="propertyDescription" value="The set of contexts defined by the domain"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescriptionLanguage" eSuperTypes="#//ArchitectureContext">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A description language (from ISO 42010) represents in Papyrus a modeling language (e.g., UML, SysML). It has a unique id' that corresponds to that of an ''IClientContext from GMF. It references a metamodel, a set of profiles, a set of element type set configurations, a creation command (creates a model of this language), a conversion command (converts a model to this language), and and icon. It also has an optional extension prefix for its models. It can also contain a set of representation kinds (which can be either diagrams or tables) and a set of viewpoints."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="representationKinds" upperBound="-1"
+        eType="#//RepresentationKind" containment="true" eOpposite="#//RepresentationKind/language">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of representation kinds defined by the language"/>
+        <details key="propertyDescription" value="The set of representation kinds defined by the language"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" lowerBound="1"
+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The metamodel used by the language"/>
+        <details key="propertyDescription" value="The metamodel used by the language"/>
+        <details key="propertyCategory" value="Description Language"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="profiles" upperBound="-1"
+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EPackage">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of UML profiles used by the language"/>
+        <details key="propertyDescription" value="The set of UML profiles used by the language"/>
+        <details key="propertyCategory" value="Description Language"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Stakeholder" eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A stakeholder (from ISO 42010) represents in Papyrus an archetype of users. It references a set of its concerns."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+        eType="#//Concern">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of concerns of the stakeholder"/>
+        <details key="propertyDescription" value="The set of concerns of the stakeholder"/>
+        <details key="propertyCategory" value="Stakeholder"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+        eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/stakeholders">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The domain that defines the stakeholder"/>
+        <details key="propertyDescription" value="The domain that defines the stakeholder"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="Concern" eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A concern (from ISO 42010) represents in Papyrus a matter of interest to some stakeholder."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+        eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/concerns">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The domain that defines the concern"/>
+        <details key="propertyDescription" value="The domain that defines the concern"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureViewpoint" eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A viewpoint (from ISO 42010) in Papyrus references set of representation kinds, which can be diagrams or tables."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+        eType="#//Concern">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of concerns covered by the viewpoint"/>
+        <details key="propertyDescription" value="The set of concerns covered by the viewpoint"/>
+        <details key="propertyCategory" value="Viewpoint"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="representationKinds" upperBound="-1"
+        eType="#//RepresentationKind">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of representation kinds provided by the viewpoint"/>
+        <details key="propertyDescription" value="The set of representation kinds provided by the viewpoint"/>
+        <details key="propertyCategory" value="Viewpoint"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
+        eType="#//ArchitectureContext" eOpposite="#//ArchitectureContext/viewpoints">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The context that defines the viewpoint"/>
+        <details key="propertyDescription" value="The context that defines the viewpoint"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="RepresentationKind" abstract="true"
+      eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="The kind of representations defined by architectural contexts and that depict some information from a model"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="language" lowerBound="1"
+        eType="#//ArchitectureDescriptionLanguage" eOpposite="#//ArchitectureDescriptionLanguage/representationKinds">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The language that defines the representation kind"/>
+        <details key="propertyDescription" value="The language that defines the representation kind"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="concerns" upperBound="-1"
+        eType="#//Concern">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of concerns covered by the representation kind"/>
+        <details key="propertyDescription" value="The set of concerns covered by the representation kind"/>
+        <details key="propertyCategory" value="Representation Kind"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="grayedIcon" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The icon of the element specified using a platform plugin URI"/>
+        <details key="propertyDescription" value="The icon of the element specified using a platform plugin URI"/>
+        <details key="propertyCategory" value="Element"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureContext" abstract="true"
+      eSuperTypes="#//ADElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="The superclass of architectural description languages or architecture frameworks. It defines a collection of viewpoints on models."/>
+    </eAnnotations>
+    <eOperations name="ceationCommandClassExists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" unique="false" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDiagnosticChain"/>
+      <eParameters name="context" unique="false">
+        <eGenericType eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eOperations name="conversionCommandClassExists" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+      <eParameters name="diagnostics" unique="false" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EDiagnosticChain"/>
+      <eParameters name="context" unique="false">
+        <eGenericType eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EMap">
+          <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+          <eTypeArguments eClassifier="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EJavaObject"/>
+        </eGenericType>
+      </eParameters>
+    </eOperations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="viewpoints" upperBound="-1"
+        eType="#//ArchitectureViewpoint" containment="true" eOpposite="#//ArchitectureViewpoint/context">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of viewpoints defined by the context"/>
+        <details key="propertyDescription" value="The set of viewpoints defined by the context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="defaultViewpoints" upperBound="-1"
+        eType="#//ArchitectureViewpoint">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of viewpoints that are selected for the context by default"/>
+        <details key="propertyDescription" value="The set of viewpoints that are selected for the context by default"/>
+        <details key="propertyCategory" value="Context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="elementTypes" upperBound="-1"
+        eType="ecore:EClass ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore#//ElementTypeSetConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"/>
+        <details key="propertyDescription" value="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"/>
+        <details key="propertyCategory" value="Context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="domain" lowerBound="1"
+        eType="#//ArchitectureDomain" eOpposite="#//ArchitectureDomain/contexts">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The domain that defines the context"/>
+        <details key="propertyDescription" value="The domain that defines the context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="extensionPrefix" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The prefix of the file extension of the UML models applying this context (e.g., &lt;Name>.&lt;prefixExtension>.uml)"/>
+        <details key="propertyDescription" value="The prefix of the file extension of the UML models applying this context (e.g., &lt;Name>.&lt;prefixExtension>.uml)"/>
+        <details key="propertyCategory" value="Context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="creationCommandClass" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"/>
+        <details key="propertyDescription" value="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"/>
+        <details key="propertyCategory" value="Context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="conversionCommandClass"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"/>
+        <details key="propertyDescription" value="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"/>
+        <details key="propertyCategory" value="Context"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureFramework" eSuperTypes="#//ArchitectureContext">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="A framework (from ISO 42010) represents in Papyrus a modeling framework (e.g., DoDAF). It has a unique id' that corresponds to that of an ''IClientContext from GMF. It references a set of element type set configurations, a creation command (creates a model of this framework), a conversion command (converts a model to this framework), and an icon. It also has an optional extension prefix for its models. It can also contain a set of viewpoints."/>
+    </eAnnotations>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescription">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An element that is added to a DI model to record the id of the architecture context applied to a model set"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="contextId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The id of the context applied to a UML model"/>
+        <details key="propertyDescription" value="The id of the context applied to a UML model"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+  <eClassifiers xsi:type="ecore:EClass" name="ArchitectureDescriptionPreferences">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="An element that is added to a DI model to record the architecture preferences used by a model set"/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="viewpointIds" upperBound="-1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The set of ids of viewpoints enabled on a UML model"/>
+        <details key="propertyDescription" value="The set of ids of viewpoints enabled on a UML model"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+  </eClassifiers>
+</ecore:EPackage>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram
new file mode 100644
index 0000000..fca39ee
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.ecore_diagram
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_jPuUwLeqEearJ4erliAKEg" type="Ecore" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_jpWVsLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jph74LeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpnbcLeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpnbcbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpnbcreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpoCgLeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpoCgbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpoCgreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpoCg7eqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpoChLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpoChbeqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ADElement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpWVsbeqEearJ4erliAKEg" x="234" y="63"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpopkLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpopkreqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jppQoLeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jppQobeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQoreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jppQo7eqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jppQpLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQpbeqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jppQpreqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jppQp7eqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jppQqLeqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDomain"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpopkbeqEearJ4erliAKEg" x="99" y="198"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpqewLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jprF0LeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jprF0beqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jprF0reqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jprF07eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jprF1LeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jprF1beqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jprF1reqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jprs4LeqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jprs4beqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jprs4reqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionLanguage"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpqewbeqEearJ4erliAKEg" x="270" y="378"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jprs47eqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpsT8LeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT8beqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT8reqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT87eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT9LeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT9beqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT9reqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpsT97eqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpsT-LeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpsT-beqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//Stakeholder"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jprs5LeqEearJ4erliAKEg" x="54" y="324" width="109"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jps7ALeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jps7AreqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jps7A7eqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jps7BLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7BbeqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jps7BreqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jps7B7eqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7CLeqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jps7CbeqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jps7CreqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jps7C7eqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//Concern"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jps7AbeqEearJ4erliAKEg" x="99" y="486" width="109"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jptiELeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpuJILeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpuJIbeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpuJIreqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuJI7eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpuJJLeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpuJJbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuJJreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpuwMLeqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpuwMbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpuwMreqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureViewpoint"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jptiEbeqEearJ4erliAKEg" x="513" y="486" width="172"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpvXQLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpvXQreqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpvXQ7eqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpvXRLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpvXRbeqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpv-ULeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpv-UbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpv-UreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpv-U7eqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpv-VLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpv-VbeqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//RepresentationKind"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpvXQbeqEearJ4erliAKEg" x="297" y="486"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpv-VreqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpwlYLeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpwlYbeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpwlYreqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpwlY7eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpwlZLeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpwlZbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpwlZreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpxMcLeqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpxMcbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxMcreqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureContext"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpv-V7eqEearJ4erliAKEg" x="351" y="171"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpxMc7eqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpxzgLeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzgbeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpxzgreqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzg7eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzhLeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpxzhbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzhreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpxzh7eqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpxziLeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpxzibeqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureFramework"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpxMdLeqEearJ4erliAKEg" x="450" y="378"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_jpyakLeqEearJ4erliAKEg" type="2001" fontName="Lucida Grande">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jpzBoLeqEearJ4erliAKEg" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpzBobeqEearJ4erliAKEg" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpzBoreqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzBo7eqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpzBpLeqEearJ4erliAKEg" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpzBpbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzBpreqEearJ4erliAKEg"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_jpzosLeqEearJ4erliAKEg" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_jpzosbeqEearJ4erliAKEg"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_jpzosreqEearJ4erliAKEg"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescription"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jpyakbeqEearJ4erliAKEg" x="414" y="36"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_UOZmMAP_EeeD5ZWpL2ysEA" type="2001" fontName=".SF NS Text">
+    <children xmi:type="notation:DecorationNode" xmi:id="_UOa0UAP_EeeD5ZWpL2ysEA" type="5001"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_UOa0UQP_EeeD5ZWpL2ysEA" type="7001">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_UOa0UgP_EeeD5ZWpL2ysEA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_UOa0UwP_EeeD5ZWpL2ysEA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_UOa0VAP_EeeD5ZWpL2ysEA" type="7002">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_UOa0VQP_EeeD5ZWpL2ysEA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_UOa0VgP_EeeD5ZWpL2ysEA"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_UObbYAP_EeeD5ZWpL2ysEA" type="7003">
+      <styles xmi:type="notation:SortingStyle" xmi:id="_UObbYQP_EeeD5ZWpL2ysEA"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_UObbYgP_EeeD5ZWpL2ysEA"/>
+    </children>
+    <element xmi:type="ecore:EClass" href="Architecture.ecore#//ArchitectureDescriptionPreferences"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UOZmMQP_EeeD5ZWpL2ysEA" x="-5" y="20"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_jPuUwbeqEearJ4erliAKEg"/>
+  <element xmi:type="ecore:EPackage" href="Architecture.ecore#/"/>
+  <edges xmi:type="notation:Connector" xmi:id="_jvgBALeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jprs47eqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jvgoELeqEearJ4erliAKEg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jvgoEbeqEearJ4erliAKEg" x="24" y="34"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jvgoEreqEearJ4erliAKEg" type="6004">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jvgoE7eqEearJ4erliAKEg" x="-2" y="-18"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jvgBAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jvgBAreqEearJ4erliAKEg" points="[-8, 0, 37, -74]$[-8, 74, 37, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0LeqEearJ4erliAKEg" id="(0.4953271028037383,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0beqEearJ4erliAKEg" id="(0.49295774647887325,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jv_wQLeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwAXULeqEearJ4erliAKEg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwAXUbeqEearJ4erliAKEg" x="96" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwAXUreqEearJ4erliAKEg" type="6004">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwAXU7eqEearJ4erliAKEg" x="13" y="10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jv_wQbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/concerns"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jv_wQreqEearJ4erliAKEg" points="[19, 0, 52, -200]$[19, 200, 52, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B1LeqEearJ4erliAKEg" id="(0.6635514018691588,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B1beqEearJ4erliAKEg" id="(0.35714285714285715,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwEBsLeqEearJ4erliAKEg" type="4003" source="_jpopkLeqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwEowLeqEearJ4erliAKEg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwEowbeqEearJ4erliAKEg" x="46" y="14"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwEowreqEearJ4erliAKEg" type="6004">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwEow7eqEearJ4erliAKEg" x="-6" y="-13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwEBsbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDomain/contexts"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwEBsreqEearJ4erliAKEg" points="[18, -34, -193, 45]$[163, -34, -48, 45]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzztbeqEearJ4erliAKEg" id="(0.8317757009345794,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awLeqEearJ4erliAKEg" id="(0.24299065420560748,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwITILeqEearJ4erliAKEg" type="4004" source="_jpopkLeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwITIbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwITIreqEearJ4erliAKEg" points="[19, -52, -106, 135]$[19, -106, -106, 81]$[109, -106, -16, 81]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B0reqEearJ4erliAKEg" id="(0.24299065420560748,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1B07eqEearJ4erliAKEg" id="(0.12121212121212122,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwMkkLeqEearJ4erliAKEg" type="4003" source="_jpqewLeqEearJ4erliAKEg" target="_jpvXQLeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwMkk7eqEearJ4erliAKEg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwMklLeqEearJ4erliAKEg" x="15" y="46"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwMklbeqEearJ4erliAKEg" type="6004">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwMklreqEearJ4erliAKEg" x="-5" y="-17"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwMkkbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwMkkreqEearJ4erliAKEg" points="[69, 0, -24, -56]$[69, 56, -24, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4LeqEearJ4erliAKEg" id="(0.07272727272727272,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4beqEearJ4erliAKEg" id="(0.7428571428571429,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwPn4LeqEearJ4erliAKEg" type="4004" source="_jpqewLeqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwPn4beqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwPn4reqEearJ4erliAKEg" points="[104, -52, -119, 180]$[104, -109, -119, 123]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMpLeqEearJ4erliAKEg" id="(0.03636363636363636,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsLeqEearJ4erliAKEg" id="(0.7476635514018691,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwRdELeqEearJ4erliAKEg" type="4002" source="_jprs47eqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwRdE7eqEearJ4erliAKEg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwRdFLeqEearJ4erliAKEg" x="33" y="26"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwRdFbeqEearJ4erliAKEg" type="6003">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwRdFreqEearJ4erliAKEg" x="-6" y="-16"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwRdEbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//Stakeholder/concerns"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwRdEreqEearJ4erliAKEg" points="[-29, 0, -5, -47]$[-29, 47, -5, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMoLeqEearJ4erliAKEg" id="(0.6619718309859155,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMobeqEearJ4erliAKEg" id="(0.17857142857142858,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwYKwLeqEearJ4erliAKEg" type="4004" source="_jprs47eqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwYKwbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwYKwreqEearJ4erliAKEg" points="[-23, -52, -201, 261]$[-23, -250, -201, 63]$[145, -250, -33, 63]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o4reqEearJ4erliAKEg" id="(0.323943661971831,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o47eqEearJ4erliAKEg" id="(0.25,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwanALeqEearJ4erliAKEg" type="4004" source="_jps7ALeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwanAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwanAreqEearJ4erliAKEg" points="[-54, -40, -184, 435]$[-117, -40, -247, 435]$[-117, -430, -247, 45]$[81, -430, -49, 45]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzs7eqEearJ4erliAKEg" id="(0.5,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzztLeqEearJ4erliAKEg" id="(0.3712121212121212,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwccMLeqEearJ4erliAKEg" type="4002" source="_jptiELeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwccM7eqEearJ4erliAKEg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwccNLeqEearJ4erliAKEg" x="183" y="17"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwccNbeqEearJ4erliAKEg" type="6003">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwccNreqEearJ4erliAKEg" x="60" y="17"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwccMbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwccMreqEearJ4erliAKEg" points="[23, 0, 439, 52]$[23, 29, 439, 81]$[-418, 29, -2, 81]$[-418, 0, -2, 52]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8LeqEearJ4erliAKEg" id="(0.2672413793103448,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8beqEearJ4erliAKEg" id="(0.5178571428571429,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwgGkLeqEearJ4erliAKEg" type="4002" source="_jptiELeqEearJ4erliAKEg" target="_jpvXQLeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwgGk7eqEearJ4erliAKEg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwgGlLeqEearJ4erliAKEg" x="5" y="-8"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwgGlbeqEearJ4erliAKEg" type="6003">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwgGlreqEearJ4erliAKEg" x="1" y="13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwgGkbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwgGkreqEearJ4erliAKEg" points="[-93, -25, 164, 27]$[-204, -25, 53, 27]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awbeqEearJ4erliAKEg" id="(0.5431034482758621,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy0awreqEearJ4erliAKEg" id="(0.49523809523809526,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwkYALeqEearJ4erliAKEg" type="4004" source="_jptiELeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwkYAbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwkYAreqEearJ4erliAKEg" points="[31, -52, 353, 423]$[31, -412, 353, 63]$[-278, -412, 44, 63]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o5LeqEearJ4erliAKEg" id="(0.7672413793103449,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy1o5beqEearJ4erliAKEg" id="(0.6666666666666666,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwm0QLeqEearJ4erliAKEg" type="4002" source="_jpvXQLeqEearJ4erliAKEg" target="_jps7ALeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwm0Q7eqEearJ4erliAKEg" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwm0RLeqEearJ4erliAKEg" x="16" y="-14"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwm0RbeqEearJ4erliAKEg" type="6003">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwm0RreqEearJ4erliAKEg" x="-6" y="13"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwm0QbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//RepresentationKind/concerns"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwm0QreqEearJ4erliAKEg" points="[-26, -25, 115, 27]$[-115, -25, 26, 27]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMoreqEearJ4erliAKEg" id="(0.24761904761904763,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzMo7eqEearJ4erliAKEg" id="(0.7678571428571429,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwrswLeqEearJ4erliAKEg" type="4004" source="_jpvXQLeqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwrswbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwrswreqEearJ4erliAKEg" points="[29, 0, 78, 475]$[29, 41, 78, 516]$[344, 41, 393, 516]$[344, -430, 393, 45]$[17, -430, 66, 45]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P8reqEearJ4erliAKEg" id="(0.49523809523809526,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P87eqEearJ4erliAKEg" id="(0.5,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwuwELeqEearJ4erliAKEg" type="4003" source="_jpv-VreqEearJ4erliAKEg" target="_jptiELeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwuwE7eqEearJ4erliAKEg" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwuwFLeqEearJ4erliAKEg" x="171" y="31"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jwuwFbeqEearJ4erliAKEg" type="6004">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jwuwFreqEearJ4erliAKEg" x="24" y="28"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwuwEbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/viewpoints"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwuwEreqEearJ4erliAKEg" points="[100, -69, -55, -261]$[208, -69, 53, -261]$[208, 192, 53, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyylkLeqEearJ4erliAKEg" id="(0.4953271028037383,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyylkbeqEearJ4erliAKEg" id="(0.5344827586206896,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jwyacLeqEearJ4erliAKEg" type="4004" source="_jpv-VreqEearJ4erliAKEg" target="_jpWVsLeqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jwyacbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jwyacreqEearJ4erliAKEg" points="[-33, -91, 122, 108]$[-33, -118, 122, 81]$[-133, -118, 22, 81]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P9LeqEearJ4erliAKEg" id="(0.7476635514018691,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jy2P9beqEearJ4erliAKEg" id="(0.8333333333333334,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jw02sLeqEearJ4erliAKEg" type="4004" source="_jpxMc7eqEearJ4erliAKEg" target="_jpv-VreqEearJ4erliAKEg" routing="Rectilinear">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jw02sbeqEearJ4erliAKEg" fontName="Lucida Grande"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jw02sreqEearJ4erliAKEg" points="[-32, -52, 64, 180]$[-32, -109, 64, 123]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsbeqEearJ4erliAKEg" id="(0.7851239669421488,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jyzzsreqEearJ4erliAKEg" id="(0.4953271028037383,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_nPrvwDGnEeeThtX0CLDTfA" type="4002" source="_jpv-VreqEearJ4erliAKEg" target="_jptiELeqEearJ4erliAKEg" routing="Rectilinear">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nPsW0DGnEeeThtX0CLDTfA" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nPsW0TGnEeeThtX0CLDTfA" x="124" y="46"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nPsW0jGnEeeThtX0CLDTfA" type="6003">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_nPsW0zGnEeeThtX0CLDTfA" x="11" y="28"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_nPrvwTGnEeeThtX0CLDTfA" fontName=".SF NS Text"/>
+    <element xmi:type="ecore:EReference" href="Architecture.ecore#//ArchitectureContext/defaultViewpoints"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nPrvwjGnEeeThtX0CLDTfA" points="[22, 3, -41, -263]$[58, 3, -5, -263]$[58, 237, -5, -29]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nPxPUDGnEeeThtX0CLDTfA" id="(0.8888888888888888,0.6341463414634146)"/>
+  </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel
new file mode 100644
index 0000000..ef3d448
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.genmodel
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText=" Copyright (c) 2017 CEA LIST and others.&#xA;&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License 2.0&#xA; which accompanies this distribution, and is available at&#xA; https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA; SPDX-License-Identifier: EPL-2.0&#xA;&#xA; Contributors:&#xA; Maged Elaasar - Initial API and implementation"
+    modelDirectory="/org.eclipse.papyrus.infra.core.architecture/src-gen" editDirectory="/org.eclipse.papyrus.infra.core.architecture.edit/src-gen"
+    editorDirectory="" modelPluginID="org.eclipse.papyrus.infra.core.architecture"
+    modelName="Architecture" nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+    testsDirectory="" importerID="org.eclipse.emf.importer.ecore" featureDelegation="Dynamic"
+    complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel#//types"
+    operationReflection="true" importOrganizing="true" cleanup="true">
+  <foreignModel>Architecture.ecore</foreignModel>
+  <genPackages prefix="Architecture" basePackage="org.eclipse.papyrus.infra.core"
+      disposableProviderFactory="true" extensibleProviderFactory="true" ecorePackage="Architecture.ecore#/">
+    <genClasses image="false" ecoreClass="Architecture.ecore#//ADElement">
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The unique id of the element"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/id"/>
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The name of the element"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/name"/>
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The description of the element"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/description"/>
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The qualified name of the element"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/qualifiedName"/>
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The icon of the element specified using a platform plugin URI"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ADElement/icon"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureDomain">
+      <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of stakeholders defined by the domain"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/stakeholders"/>
+      <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of concerns defined by the domain"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/concerns"/>
+      <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of contexts defined by the domain"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDomain/contexts"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescriptionLanguage">
+      <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of representation kinds defined by the language"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/representationKinds"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Description Language"
+          propertyDescription="The metamodel used by the language" propertySortChoices="true"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/metamodel"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Description Language"
+          propertyDescription="The set of UML profiles used by the language" propertySortChoices="true"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureDescriptionLanguage/profiles"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//Stakeholder">
+      <genFeatures notify="false" createChild="false" propertyCategory="Stakeholder"
+          propertyDescription="The set of concerns of the stakeholder" propertySortChoices="true"
+          ecoreFeature="ecore:EReference Architecture.ecore#//Stakeholder/concerns"/>
+      <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the stakeholder"
+          ecoreFeature="ecore:EReference Architecture.ecore#//Stakeholder/domain"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//Concern">
+      <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the concern"
+          ecoreFeature="ecore:EReference Architecture.ecore#//Concern/domain"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureViewpoint">
+      <genFeatures notify="false" createChild="false" propertyCategory="Viewpoint"
+          propertyDescription="The set of concerns covered by the viewpoint" propertySortChoices="true"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/concerns"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Viewpoint"
+          propertyDescription="The set of representation kinds provided by the viewpoint"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/representationKinds"/>
+      <genFeatures property="None" notify="false" createChild="false" propertyDescription="The context that defines the viewpoint"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureViewpoint/context"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="Architecture.ecore#//RepresentationKind">
+      <genFeatures property="None" notify="false" createChild="false" propertyDescription="The language that defines the representation kind"
+          ecoreFeature="ecore:EReference Architecture.ecore#//RepresentationKind/language"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Representation Kind"
+          propertyDescription="The set of concerns covered by the representation kind"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//RepresentationKind/concerns"/>
+      <genFeatures createChild="false" propertyCategory="Element" propertyDescription="The icon of the element specified using a platform plugin URI"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//RepresentationKind/grayedIcon"/>
+    </genClasses>
+    <genClasses image="false" ecoreClass="Architecture.ecore#//ArchitectureContext">
+      <genFeatures property="None" children="true" createChild="true" propertyDescription="The set of viewpoints defined by the context"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/viewpoints"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Context" propertyDescription="The set of viewpoints that are selected for the context by default"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/defaultViewpoints"/>
+      <genFeatures notify="false" createChild="false" propertyCategory="Context" propertyDescription="The set of element type set configurations that are used by the context (typically found in .elementtypesconfigurations resources)"
+          propertySortChoices="true" ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/elementTypes"/>
+      <genFeatures property="None" notify="false" createChild="false" propertyDescription="The domain that defines the context"
+          ecoreFeature="ecore:EReference Architecture.ecore#//ArchitectureContext/domain"/>
+      <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The prefix of the file extension of the UML models applying this context (e.g., &lt;Name>.&lt;prefixExtension>.uml)"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/extensionPrefix"/>
+      <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The fully qualified name of a command that creates models applying this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelCreationCommand inteface"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/creationCommandClass"/>
+      <genFeatures createChild="false" propertyCategory="Context" propertyDescription="The fully qualified name of a command that refactors models that switched to this context. The command must implement the org.eclipse.papyrus.infra.architecture.commands.IModelConversionCommand inteface"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureContext/conversionCommandClass"/>
+      <genOperations ecoreOperation="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists">
+        <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists/diagnostics"/>
+        <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/ceationCommandClassExists/context"/>
+      </genOperations>
+      <genOperations ecoreOperation="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists">
+        <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists/diagnostics"/>
+        <genParameters ecoreParameter="Architecture.ecore#//ArchitectureContext/conversionCommandClassExists/context"/>
+      </genOperations>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureFramework"/>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescription">
+      <genFeatures createChild="false" propertyDescription="The id of the context applied to a UML model"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureDescription/contextId"/>
+    </genClasses>
+    <genClasses ecoreClass="Architecture.ecore#//ArchitectureDescriptionPreferences">
+      <genFeatures createChild="false" propertyDescription="The set of ids of viewpoints enabled on a UML model"
+          ecoreFeature="ecore:EAttribute Architecture.ecore#//ArchitectureDescriptionPreferences/viewpointIds"/>
+    </genClasses>
+  </genPackages>
+</genmodel:GenModel>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml
new file mode 100644
index 0000000..4cadc77
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/Architecture.uml
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Model xmi:id="_46bO0F_sEeecE-N4uvmt0g" name="architecture" URI="http://www.eclipse.org/papyrus/infra/core/architecture">
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bO0V_sEeecE-N4uvmt0g" name="ADElement" isAbstract="true">
+      <ownedAttribute xmi:id="_46bO0l_sEeecE-N4uvmt0g" name="id" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO01_sEeecE-N4uvmt0g" name="name" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO1F_sEeecE-N4uvmt0g" name="description" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO1V_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO1l_sEeecE-N4uvmt0g" name="qualifiedName" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO11_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO2F_sEeecE-N4uvmt0g" name="icon" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO2V_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bO2l_sEeecE-N4uvmt0g" name="ArchitectureDomain">
+      <generalization xmi:id="_46bO21_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bO3F_sEeecE-N4uvmt0g" name="stakeholders" type="_46bO5V_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bO8V_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO3V_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO3l_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO31_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bO7l_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO4F_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO4V_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO4l_sEeecE-N4uvmt0g" name="contexts" type="_46bO8l_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPM1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO41_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO5F_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bO5V_sEeecE-N4uvmt0g" name="Stakeholder">
+      <generalization xmi:id="_46bO5l_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bO51_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO71_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO6F_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO6V_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO6l_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO8V_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bO61_sEeecE-N4uvmt0g" name="Concern">
+      <generalization xmi:id="_46bO7F_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bO7V_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bO7l_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bO7l_sEeecE-N4uvmt0g" memberEnd="_46bO31_sEeecE-N4uvmt0g _46bO7V_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bO71_sEeecE-N4uvmt0g" memberEnd="_46bO51_sEeecE-N4uvmt0g _46bO8F_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bO8F_sEeecE-N4uvmt0g" type="_46bO5V_sEeecE-N4uvmt0g" association="_46bO71_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bO8V_sEeecE-N4uvmt0g" memberEnd="_46bO3F_sEeecE-N4uvmt0g _46bO6l_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bO8l_sEeecE-N4uvmt0g" name="ArchitectureContext" isAbstract="true">
+      <generalization xmi:id="_46bO81_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bO9F_sEeecE-N4uvmt0g" name="viewpoints" type="_46bPC1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPLl_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO9V_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO9l_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO91_sEeecE-N4uvmt0g" name="defaultViewpoints" type="_46bPC1_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPL1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO-F_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO-V_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO-l_sEeecE-N4uvmt0g" name="elementTypes" isOrdered="true" association="_46bPMV_sEeecE-N4uvmt0g">
+        <type xmi:type="uml:Class" href="ElementTypesConfigurations.uml#_44q7UV_sEeecE-N4uvmt0g"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO-1_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bO_F_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bO_V_sEeecE-N4uvmt0g" name="domain" type="_46bO2l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPM1_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bO_l_sEeecE-N4uvmt0g" name="extensionPrefix" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bO_1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bPAF_sEeecE-N4uvmt0g" name="creationCommandClass" visibility="public" type="_46bPBF_sEeecE-N4uvmt0g" isOrdered="true"/>
+      <ownedAttribute xmi:id="_46bPAV_sEeecE-N4uvmt0g" name="conversionCommandClass" visibility="public" type="_46bPCF_sEeecE-N4uvmt0g" isOrdered="true">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPAl_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="_46bPA1_sEeecE-N4uvmt0g" name="Wildcard"/>
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_46bPBF_sEeecE-N4uvmt0g" name="EJavaClass_Wildcard">
+        <templateBinding xmi:id="_46bPBV_sEeecE-N4uvmt0g">
+          <parameterSubstitution xmi:id="_46bPBl_sEeecE-N4uvmt0g" actual="_46bPA1_sEeecE-N4uvmt0g">
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0-_ownedParameter.0"/>
+          </parameterSubstitution>
+          <signature xmi:type="uml:RedefinableTemplateSignature" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0"/>
+        </templateBinding>
+      </nestedClassifier>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="_46bPB1_sEeecE-N4uvmt0g" name="Wildcard"/>
+      <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_46bPCF_sEeecE-N4uvmt0g" name="EJavaClass_Wildcard">
+        <templateBinding xmi:id="_46bPCV_sEeecE-N4uvmt0g">
+          <parameterSubstitution xmi:id="_46bPCl_sEeecE-N4uvmt0g" actual="_46bPB1_sEeecE-N4uvmt0g">
+            <formal xmi:type="uml:ClassifierTemplateParameter" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0-_ownedParameter.0"/>
+          </parameterSubstitution>
+          <signature xmi:type="uml:RedefinableTemplateSignature" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EJavaClass-_ownedElement.0"/>
+        </templateBinding>
+      </nestedClassifier>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPC1_sEeecE-N4uvmt0g" name="ArchitectureViewpoint">
+      <generalization xmi:id="_46bPDF_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bPDV_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPFF_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPDl_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPD1_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bPEF_sEeecE-N4uvmt0g" name="representationKinds" type="_46bPFl_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPLF_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPEV_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPEl_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bPE1_sEeecE-N4uvmt0g" name="context" type="_46bO8l_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPLl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPFF_sEeecE-N4uvmt0g" memberEnd="_46bPDV_sEeecE-N4uvmt0g _46bPFV_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPFV_sEeecE-N4uvmt0g" type="_46bPC1_sEeecE-N4uvmt0g" association="_46bPFF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPFl_sEeecE-N4uvmt0g" name="RepresentationKind" isAbstract="true">
+      <generalization xmi:id="_46bPF1_sEeecE-N4uvmt0g" general="_46bO0V_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bPGF_sEeecE-N4uvmt0g" name="language" type="_46bPHF_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPJV_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bPGV_sEeecE-N4uvmt0g" name="concerns" type="_46bO61_sEeecE-N4uvmt0g" isOrdered="true" association="_46bPKl_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPGl_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPG1_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_3prHYMrzEem0O816XhrVeA" name="grayedIcon" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3prHYcrzEem0O816XhrVeA"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPHF_sEeecE-N4uvmt0g" name="ArchitectureDescriptionLanguage">
+      <generalization xmi:id="_46bPHV_sEeecE-N4uvmt0g" general="_46bO8l_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bPHl_sEeecE-N4uvmt0g" name="representationKinds" type="_46bPFl_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_46bPJV_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPH1_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPIF_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_46bPIV_sEeecE-N4uvmt0g" name="metamodel" isOrdered="true" association="_46bPJl_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_46bPIl_sEeecE-N4uvmt0g" name="profiles" isOrdered="true" association="_46bPKF_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPI1_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPJF_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPJV_sEeecE-N4uvmt0g" memberEnd="_46bPHl_sEeecE-N4uvmt0g _46bPGF_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPJl_sEeecE-N4uvmt0g" memberEnd="_46bPIV_sEeecE-N4uvmt0g _46bPJ1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPJ1_sEeecE-N4uvmt0g" type="_46bPHF_sEeecE-N4uvmt0g" association="_46bPJl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPKF_sEeecE-N4uvmt0g" memberEnd="_46bPIl_sEeecE-N4uvmt0g _46bPKV_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPKV_sEeecE-N4uvmt0g" type="_46bPHF_sEeecE-N4uvmt0g" association="_46bPKF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPKl_sEeecE-N4uvmt0g" memberEnd="_46bPGV_sEeecE-N4uvmt0g _46bPK1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPK1_sEeecE-N4uvmt0g" type="_46bPFl_sEeecE-N4uvmt0g" association="_46bPKl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPLF_sEeecE-N4uvmt0g" memberEnd="_46bPEF_sEeecE-N4uvmt0g _46bPLV_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPLV_sEeecE-N4uvmt0g" type="_46bPC1_sEeecE-N4uvmt0g" association="_46bPLF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPLl_sEeecE-N4uvmt0g" memberEnd="_46bO9F_sEeecE-N4uvmt0g _46bPE1_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPL1_sEeecE-N4uvmt0g" memberEnd="_46bO91_sEeecE-N4uvmt0g _46bPMF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPMF_sEeecE-N4uvmt0g" type="_46bO8l_sEeecE-N4uvmt0g" association="_46bPL1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPMV_sEeecE-N4uvmt0g" memberEnd="_46bO-l_sEeecE-N4uvmt0g _46bPMl_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_46bPMl_sEeecE-N4uvmt0g" type="_46bO8l_sEeecE-N4uvmt0g" association="_46bPMV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_46bPM1_sEeecE-N4uvmt0g" memberEnd="_46bO4l_sEeecE-N4uvmt0g _46bO_V_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPNF_sEeecE-N4uvmt0g" name="ArchitectureFramework">
+      <generalization xmi:id="_46bPNV_sEeecE-N4uvmt0g" general="_46bO8l_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPNl_sEeecE-N4uvmt0g" name="ArchitectureDescription">
+      <ownedAttribute xmi:id="_46bPN1_sEeecE-N4uvmt0g" name="contextId" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPOF_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_46bPOV_sEeecE-N4uvmt0g" name="ArchitectureDescriptionPreferences">
+      <ownedAttribute xmi:id="_46bPOl_sEeecE-N4uvmt0g" name="viewpointIds" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_46bPO1_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_46bPPF_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <profileApplication xmi:id="_46bPPV_sEeecE-N4uvmt0g">
+      <eAnnotations xmi:id="_46bPPl_sEeecE-N4uvmt0g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <Ecore:EPackage xmi:id="_46bPP1_sEeecE-N4uvmt0g" base_Package="_46bO0F_sEeecE-N4uvmt0g" nsPrefix="architecture" basePackage="org.eclipse.papyrus.infra.core"/>
+  <Ecore:EClass xmi:id="_46bPQF_sEeecE-N4uvmt0g" base_Class="_46bO0V_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPQV_sEeecE-N4uvmt0g" base_Class="_46bO2l_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPQl_sEeecE-N4uvmt0g" base_Property="_46bO3F_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPQ1_sEeecE-N4uvmt0g" base_Property="_46bO31_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPRF_sEeecE-N4uvmt0g" base_Property="_46bO4l_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPRV_sEeecE-N4uvmt0g" base_Class="_46bO5V_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPRl_sEeecE-N4uvmt0g" base_Property="_46bO51_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPR1_sEeecE-N4uvmt0g" base_Property="_46bO6l_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPSF_sEeecE-N4uvmt0g" base_Class="_46bO61_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPSV_sEeecE-N4uvmt0g" base_Property="_46bO7V_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPSl_sEeecE-N4uvmt0g" base_Class="_46bO8l_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPS1_sEeecE-N4uvmt0g" base_Property="_46bO9F_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPTF_sEeecE-N4uvmt0g" base_Property="_46bO91_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPTV_sEeecE-N4uvmt0g" base_Property="_46bO-l_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPTl_sEeecE-N4uvmt0g" base_Property="_46bO_V_sEeecE-N4uvmt0g"/>
+  <Ecore:EGenericType xmi:id="_46bPT1_sEeecE-N4uvmt0g" base_Class="_46bPA1_sEeecE-N4uvmt0g"/>
+  <Ecore:EGenericType xmi:id="_46bPUF_sEeecE-N4uvmt0g" base_DataType="_46bPBF_sEeecE-N4uvmt0g"/>
+  <Ecore:EGenericType xmi:id="_46bPUV_sEeecE-N4uvmt0g" base_Class="_46bPB1_sEeecE-N4uvmt0g"/>
+  <Ecore:EGenericType xmi:id="_46bPUl_sEeecE-N4uvmt0g" base_DataType="_46bPCF_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPU1_sEeecE-N4uvmt0g" base_Class="_46bPC1_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPVF_sEeecE-N4uvmt0g" base_Property="_46bPDV_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPVV_sEeecE-N4uvmt0g" base_Property="_46bPEF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPVl_sEeecE-N4uvmt0g" base_Property="_46bPE1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPV1_sEeecE-N4uvmt0g" base_Class="_46bPFl_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPWF_sEeecE-N4uvmt0g" base_Property="_46bPGF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPWV_sEeecE-N4uvmt0g" base_Property="_46bPGV_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPWl_sEeecE-N4uvmt0g" base_Class="_46bPHF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPW1_sEeecE-N4uvmt0g" base_Property="_46bPHl_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPXF_sEeecE-N4uvmt0g" base_Property="_46bPIV_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_46bPXV_sEeecE-N4uvmt0g" base_Property="_46bPIl_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPXl_sEeecE-N4uvmt0g" base_Class="_46bPNF_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPX1_sEeecE-N4uvmt0g" base_Class="_46bPNl_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_46bPYF_sEeecE-N4uvmt0g" base_Class="_46bPOV_sEeecE-N4uvmt0g"/>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml
new file mode 100644
index 0000000..18f519c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/model/ElementTypesConfigurations.uml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Model xmi:id="_44q7UF_sEeecE-N4uvmt0g" name="types" URI="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2">
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7UV_sEeecE-N4uvmt0g" name="ElementTypeSetConfiguration">
+      <generalization xmi:id="_44q7Ul_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7U1_sEeecE-N4uvmt0g" name="elementTypeConfigurations" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7dl_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7VF_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7VV_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7Vl_sEeecE-N4uvmt0g" name="adviceBindingsConfigurations" type="_44q7eF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7ol_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7V1_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7WF_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7WV_sEeecE-N4uvmt0g" name="metamodelNsURI" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+      <interfaceRealization xmi:id="_44q7Wl_sEeecE-N4uvmt0g" client="_44q7UV_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+      <interfaceRealization xmi:id="_44q7W1_sEeecE-N4uvmt0g" client="_44q7UV_sEeecE-N4uvmt0g" supplier="_44q7YV_sEeecE-N4uvmt0g" contract="_44q7YV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7XF_sEeecE-N4uvmt0g" name="ConfigurationElement" isAbstract="true">
+      <ownedAttribute xmi:id="_44q7XV_sEeecE-N4uvmt0g" name="description" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7Xl_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_44q7X1_sEeecE-N4uvmt0g" name="IdentifiedConfiguration">
+      <ownedAttribute xmi:id="_44q7YF_sEeecE-N4uvmt0g" name="identifier" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_44q7YV_sEeecE-N4uvmt0g" name="NamedConfiguration">
+      <ownedAttribute xmi:id="_44q7Yl_sEeecE-N4uvmt0g" name="name" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7Y1_sEeecE-N4uvmt0g" name="ElementTypeConfiguration" isAbstract="true">
+      <generalization xmi:id="_44q7ZF_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7ZV_sEeecE-N4uvmt0g" name="hint" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7Zl_sEeecE-N4uvmt0g"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_44q7Z1_sEeecE-N4uvmt0g" value="">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7aF_sEeecE-N4uvmt0g" name="kind" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7aV_sEeecE-N4uvmt0g"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_44q7al_sEeecE-N4uvmt0g" value="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7a1_sEeecE-N4uvmt0g" name="iconEntry" type="_44q7b1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7dF_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7bF_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <interfaceRealization xmi:id="_44q7bV_sEeecE-N4uvmt0g" client="_44q7Y1_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+      <interfaceRealization xmi:id="_44q7bl_sEeecE-N4uvmt0g" client="_44q7Y1_sEeecE-N4uvmt0g" supplier="_44q7YV_sEeecE-N4uvmt0g" contract="_44q7YV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7b1_sEeecE-N4uvmt0g" name="IconEntry">
+      <ownedAttribute xmi:id="_44q7cF_sEeecE-N4uvmt0g" name="iconPath" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7cV_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7cl_sEeecE-N4uvmt0g" name="bundleId" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7c1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7dF_sEeecE-N4uvmt0g" memberEnd="_44q7a1_sEeecE-N4uvmt0g _44q7dV_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7dV_sEeecE-N4uvmt0g" type="_44q7Y1_sEeecE-N4uvmt0g" association="_44q7dF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7dl_sEeecE-N4uvmt0g" memberEnd="_44q7U1_sEeecE-N4uvmt0g _44q7d1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7d1_sEeecE-N4uvmt0g" type="_44q7UV_sEeecE-N4uvmt0g" association="_44q7dl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7eF_sEeecE-N4uvmt0g" name="AbstractAdviceBindingConfiguration" isAbstract="true">
+      <generalization xmi:id="_44q7eV_sEeecE-N4uvmt0g" general="_44q7gl_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7el_sEeecE-N4uvmt0g" name="target" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7jl_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7e1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7fF_sEeecE-N4uvmt0g" name="containerConfiguration" type="_44q7kF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7m1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7fV_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7fl_sEeecE-N4uvmt0g" name="matcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7nV_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7f1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7gF_sEeecE-N4uvmt0g" name="inheritance" visibility="public" type="_44q7n1_sEeecE-N4uvmt0g" isOrdered="true"/>
+      <interfaceRealization xmi:id="_44q7gV_sEeecE-N4uvmt0g" client="_44q7eF_sEeecE-N4uvmt0g" supplier="_44q7X1_sEeecE-N4uvmt0g" contract="_44q7X1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7gl_sEeecE-N4uvmt0g" name="AdviceConfiguration" isAbstract="true">
+      <generalization xmi:id="_44q7g1_sEeecE-N4uvmt0g" general="_44q7XF_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7hF_sEeecE-N4uvmt0g" name="before" type="_44q7gl_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7il_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7hV_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7hl_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7h1_sEeecE-N4uvmt0g" name="after" type="_44q7gl_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7jF_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7iF_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7iV_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7il_sEeecE-N4uvmt0g" memberEnd="_44q7hF_sEeecE-N4uvmt0g _44q7i1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7i1_sEeecE-N4uvmt0g" type="_44q7gl_sEeecE-N4uvmt0g" association="_44q7il_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7jF_sEeecE-N4uvmt0g" memberEnd="_44q7h1_sEeecE-N4uvmt0g _44q7jV_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7jV_sEeecE-N4uvmt0g" type="_44q7gl_sEeecE-N4uvmt0g" association="_44q7jF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7jl_sEeecE-N4uvmt0g" memberEnd="_44q7el_sEeecE-N4uvmt0g _44q7j1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7j1_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7jl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7kF_sEeecE-N4uvmt0g" name="ContainerConfiguration">
+      <ownedAttribute xmi:id="_44q7kV_sEeecE-N4uvmt0g" name="containerMatcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7l1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7kl_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7k1_sEeecE-N4uvmt0g" name="eContainmentFeatures" isOrdered="true" association="_44q7mV_sEeecE-N4uvmt0g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EReference"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7lF_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7lV_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7ll_sEeecE-N4uvmt0g" name="AbstractMatcherConfiguration" isAbstract="true"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7l1_sEeecE-N4uvmt0g" memberEnd="_44q7kV_sEeecE-N4uvmt0g _44q7mF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7mF_sEeecE-N4uvmt0g" type="_44q7kF_sEeecE-N4uvmt0g" association="_44q7l1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7mV_sEeecE-N4uvmt0g" memberEnd="_44q7k1_sEeecE-N4uvmt0g _44q7ml_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7ml_sEeecE-N4uvmt0g" type="_44q7kF_sEeecE-N4uvmt0g" association="_44q7mV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7m1_sEeecE-N4uvmt0g" memberEnd="_44q7fF_sEeecE-N4uvmt0g _44q7nF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7nF_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7m1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7nV_sEeecE-N4uvmt0g" memberEnd="_44q7fl_sEeecE-N4uvmt0g _44q7nl_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7nl_sEeecE-N4uvmt0g" type="_44q7eF_sEeecE-N4uvmt0g" association="_44q7nV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_44q7n1_sEeecE-N4uvmt0g" name="InheritanceKind">
+      <ownedLiteral xmi:id="_44q7oF_sEeecE-N4uvmt0g" name="none"/>
+      <ownedLiteral xmi:id="_44q7oV_sEeecE-N4uvmt0g" name="all"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7ol_sEeecE-N4uvmt0g" memberEnd="_44q7Vl_sEeecE-N4uvmt0g _44q7o1_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7o1_sEeecE-N4uvmt0g" type="_44q7UV_sEeecE-N4uvmt0g" association="_44q7ol_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7pF_sEeecE-N4uvmt0g" name="SpecializationTypeConfiguration">
+      <generalization xmi:id="_44q7pV_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7pl_sEeecE-N4uvmt0g" name="editHelperAdviceConfiguration" type="_44q7r1_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7sl_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7p1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7qF_sEeecE-N4uvmt0g" name="containerConfiguration" type="_44q7kF_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7s1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7qV_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7ql_sEeecE-N4uvmt0g" name="matcherConfiguration" type="_44q7ll_sEeecE-N4uvmt0g" isOrdered="true" aggregation="composite" association="_44q7tV_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7q1_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7rF_sEeecE-N4uvmt0g" name="specializedTypes" type="_44q7Y1_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7t1_sEeecE-N4uvmt0g">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7rV_sEeecE-N4uvmt0g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_44q7rl_sEeecE-N4uvmt0g" value="*"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7r1_sEeecE-N4uvmt0g" name="AbstractEditHelperAdviceConfiguration" isAbstract="true">
+      <generalization xmi:id="_44q7sF_sEeecE-N4uvmt0g" general="_44q7gl_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7sV_sEeecE-N4uvmt0g" name="target" type="_44q7pF_sEeecE-N4uvmt0g" isOrdered="true" association="_44q7sl_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7sl_sEeecE-N4uvmt0g" memberEnd="_44q7pl_sEeecE-N4uvmt0g _44q7sV_sEeecE-N4uvmt0g"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7s1_sEeecE-N4uvmt0g" memberEnd="_44q7qF_sEeecE-N4uvmt0g _44q7tF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7tF_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7s1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7tV_sEeecE-N4uvmt0g" memberEnd="_44q7ql_sEeecE-N4uvmt0g _44q7tl_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7tl_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7tV_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7t1_sEeecE-N4uvmt0g" memberEnd="_44q7rF_sEeecE-N4uvmt0g _44q7uF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7uF_sEeecE-N4uvmt0g" type="_44q7pF_sEeecE-N4uvmt0g" association="_44q7t1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7uV_sEeecE-N4uvmt0g" name="MetamodelTypeConfiguration">
+      <generalization xmi:id="_44q7ul_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7u1_sEeecE-N4uvmt0g" name="eClass" isOrdered="true" association="_44q7v1_sEeecE-N4uvmt0g">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EClass"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7vF_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:id="_44q7vV_sEeecE-N4uvmt0g" name="editHelperClassName" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_44q7vl_sEeecE-N4uvmt0g"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_44q7v1_sEeecE-N4uvmt0g" memberEnd="_44q7u1_sEeecE-N4uvmt0g _44q7wF_sEeecE-N4uvmt0g">
+      <ownedEnd xmi:id="_44q7wF_sEeecE-N4uvmt0g" type="_44q7uV_sEeecE-N4uvmt0g" association="_44q7v1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7wV_sEeecE-N4uvmt0g" name="EditHelperAdviceConfiguration">
+      <generalization xmi:id="_44q7wl_sEeecE-N4uvmt0g" general="_44q7r1_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7w1_sEeecE-N4uvmt0g" name="editHelperAdviceClassName" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7xF_sEeecE-N4uvmt0g" name="AdviceBindingConfiguration">
+      <generalization xmi:id="_44q7xV_sEeecE-N4uvmt0g" general="_44q7eF_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7xl_sEeecE-N4uvmt0g" name="editHelperAdviceClassName" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7x1_sEeecE-N4uvmt0g" name="MatcherConfiguration">
+      <generalization xmi:id="_44q7yF_sEeecE-N4uvmt0g" general="_44q7ll_sEeecE-N4uvmt0g"/>
+      <ownedAttribute xmi:id="_44q7yV_sEeecE-N4uvmt0g" name="matcherClassName" visibility="public" isOrdered="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7yl_sEeecE-N4uvmt0g" name="ExternallyRegisteredType">
+      <generalization xmi:id="_44q7y1_sEeecE-N4uvmt0g" general="_44q7Y1_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_44q7zF_sEeecE-N4uvmt0g" name="ExternallyRegisteredAdvice">
+      <generalization xmi:id="_44q7zV_sEeecE-N4uvmt0g" general="_44q7xF_sEeecE-N4uvmt0g"/>
+    </packagedElement>
+    <profileApplication xmi:id="_44q7zl_sEeecE-N4uvmt0g">
+      <eAnnotations xmi:id="_44q7z1_sEeecE-N4uvmt0g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <Ecore:EPackage xmi:id="_44q70F_sEeecE-N4uvmt0g" base_Package="_44q7UF_sEeecE-N4uvmt0g" nsPrefix="elementtypesconfigurations" basePackage="org.eclipse.papyrus.infra"/>
+  <Ecore:EClass xmi:id="_44q70V_sEeecE-N4uvmt0g" base_Class="_44q7UV_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q70l_sEeecE-N4uvmt0g" base_Property="_44q7U1_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q701_sEeecE-N4uvmt0g" base_Property="_44q7Vl_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q71F_sEeecE-N4uvmt0g" base_Class="_44q7XF_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q71V_sEeecE-N4uvmt0g" base_Interface="_44q7X1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q71l_sEeecE-N4uvmt0g" base_Interface="_44q7YV_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q711_sEeecE-N4uvmt0g" base_Class="_44q7Y1_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q72F_sEeecE-N4uvmt0g" base_Property="_44q7a1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q72V_sEeecE-N4uvmt0g" base_Class="_44q7b1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q72l_sEeecE-N4uvmt0g" base_Class="_44q7eF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q721_sEeecE-N4uvmt0g" base_Property="_44q7el_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q73F_sEeecE-N4uvmt0g" base_Property="_44q7fF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q73V_sEeecE-N4uvmt0g" base_Property="_44q7fl_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q73l_sEeecE-N4uvmt0g" base_Class="_44q7gl_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q731_sEeecE-N4uvmt0g" base_Property="_44q7hF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q74F_sEeecE-N4uvmt0g" base_Property="_44q7h1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44q74V_sEeecE-N4uvmt0g" base_Class="_44q7kF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q74l_sEeecE-N4uvmt0g" base_Property="_44q7kV_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44q741_sEeecE-N4uvmt0g" base_Property="_44q7k1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44riYF_sEeecE-N4uvmt0g" base_Class="_44q7ll_sEeecE-N4uvmt0g"/>
+  <Ecore:EEnum xmi:id="_44riYV_sEeecE-N4uvmt0g" base_Enumeration="_44q7n1_sEeecE-N4uvmt0g"/>
+  <Ecore:EEnumLiteral xmi:id="_44riYl_sEeecE-N4uvmt0g" base_EnumerationLiteral="_44q7oF_sEeecE-N4uvmt0g" literal="none"/>
+  <Ecore:EEnumLiteral xmi:id="_44riY1_sEeecE-N4uvmt0g" base_EnumerationLiteral="_44q7oV_sEeecE-N4uvmt0g" literal="all"/>
+  <Ecore:EClass xmi:id="_44riZF_sEeecE-N4uvmt0g" base_Class="_44q7pF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44riZV_sEeecE-N4uvmt0g" base_Property="_44q7pl_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44riZl_sEeecE-N4uvmt0g" base_Property="_44q7qF_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44riZ1_sEeecE-N4uvmt0g" base_Property="_44q7ql_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44riaF_sEeecE-N4uvmt0g" base_Property="_44q7rF_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44riaV_sEeecE-N4uvmt0g" base_Class="_44q7r1_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44rial_sEeecE-N4uvmt0g" base_Property="_44q7sV_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44ria1_sEeecE-N4uvmt0g" base_Class="_44q7uV_sEeecE-N4uvmt0g"/>
+  <Ecore:EReference xmi:id="_44ribF_sEeecE-N4uvmt0g" base_Property="_44q7u1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44ribV_sEeecE-N4uvmt0g" base_Class="_44q7wV_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44ribl_sEeecE-N4uvmt0g" base_Class="_44q7xF_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44rib1_sEeecE-N4uvmt0g" base_Class="_44q7x1_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44ricF_sEeecE-N4uvmt0g" base_Class="_44q7yl_sEeecE-N4uvmt0g"/>
+  <Ecore:EClass xmi:id="_44ricV_sEeecE-N4uvmt0g" base_Class="_44q7zF_sEeecE-N4uvmt0g"/>
+</xmi:XMI>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties
new file mode 100644
index 0000000..15ff81a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.properties
@@ -0,0 +1,16 @@
+* Copyright (c) 2017 CEA LIST.
+# 
+#  All rights reserved. This program and the accompanying materials
+#  are made available under the terms of the Eclipse Public License 2.0
+#  which accompanies this distribution, and is available at
+#  https://www.eclipse.org/legal/epl-2.0/
+#
+#  SPDX-License-Identifier: EPL-2.0
+#  
+#  Contributors:
+#  Maged Elaasar - Initial API and implementation
+#  
+# 
+
+pluginName = Architecture Model (CDO Version)
+providerName=Eclipse Modeling Project
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml
new file mode 100644
index 0000000..017a4a6
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/plugin.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+* Copyright (c) 2020 CEA LIST.
+ 
+  All rights reserved. This program and the accompanying materials
+  are made available under the terms of the Eclipse Public License 2.0
+  which accompanies this distribution, and is available at
+  https://www.eclipse.org/legal/epl-2.0/
+
+  SPDX-License-Identifier: EPL-2.0
+  
+  Contributors:
+  Eike Stepper - Initial API and implementation
+  
+ 
+-->
+
+<plugin>
+
+  <extension point="org.eclipse.emf.ecore.factory_override">
+    <factory
+        uri="http://www.eclipse.org/papyrus/infra/core/architecture"
+        class="org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureFactoryImpl"
+        predecessor="org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureFactoryImpl" />
+    </extension>
+
+</plugin>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml
new file mode 100644
index 0000000..c3fa630
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.eclipse.papyrus.cdo</groupId>
+		<artifactId>org.eclipse.papyrus.cdo-bundles</artifactId>
+		<version>1.2.0-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.infra.core.architecture.cdo</artifactId>
+	<version>2.1.0-SNAPSHOT</version>
+	<packaging>eclipse-plugin</packaging>
+</project>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java
new file mode 100644
index 0000000..5da1c11
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ADElementImpl.java
@@ -0,0 +1,329 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ADElement;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>AD Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getQualifiedName <em>Qualified Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ADElementImpl#getIcon <em>Icon</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ADElementImpl extends CDOObjectImpl implements ADElement {
+	/**
+	 * The default value of the '{@link #getId() <em>Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ID_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String NAME_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getQualifiedName() <em>Qualified Name</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getQualifiedName()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String QUALIFIED_NAME_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getIcon() <em>Icon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @see #getIcon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String ICON_EDEFAULT = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	protected ADElementImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.AD_ELEMENT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	protected int eStaticFeatureCount() {
+		return 0;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getId() {
+		return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__ID, ArchitecturePackage.Literals.AD_ELEMENT__ID, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setId(String newId) {
+		eDynamicSet(ArchitecturePackage.AD_ELEMENT__ID, ArchitecturePackage.Literals.AD_ELEMENT__ID, newId);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getName() {
+		return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__NAME, ArchitecturePackage.Literals.AD_ELEMENT__NAME, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setName(String newName) {
+		eDynamicSet(ArchitecturePackage.AD_ELEMENT__NAME, ArchitecturePackage.Literals.AD_ELEMENT__NAME, newName);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getDescription() {
+		return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__DESCRIPTION, ArchitecturePackage.Literals.AD_ELEMENT__DESCRIPTION, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setDescription(String newDescription) {
+		eDynamicSet(ArchitecturePackage.AD_ELEMENT__DESCRIPTION, ArchitecturePackage.Literals.AD_ELEMENT__DESCRIPTION, newDescription);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated NOT
+	 */
+	@Override
+	public String getQualifiedName() {
+		String qualifiedName = getName();
+		ADElement parent = (ADElement) eContainer();
+		while (parent != null) {
+			qualifiedName = parent.getName() + "::" + qualifiedName;
+			parent = (ADElement) parent.eContainer();
+		}
+		return qualifiedName;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public String getIcon() {
+		return (String) eDynamicGet(ArchitecturePackage.AD_ELEMENT__ICON, ArchitecturePackage.Literals.AD_ELEMENT__ICON, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void setIcon(String newIcon) {
+		eDynamicSet(ArchitecturePackage.AD_ELEMENT__ICON, ArchitecturePackage.Literals.AD_ELEMENT__ICON, newIcon);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ArchitecturePackage.AD_ELEMENT__ID:
+			return getId();
+		case ArchitecturePackage.AD_ELEMENT__NAME:
+			return getName();
+		case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+			return getDescription();
+		case ArchitecturePackage.AD_ELEMENT__QUALIFIED_NAME:
+			return getQualifiedName();
+		case ArchitecturePackage.AD_ELEMENT__ICON:
+			return getIcon();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ArchitecturePackage.AD_ELEMENT__ID:
+			setId((String) newValue);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__NAME:
+			setName((String) newValue);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+			setDescription((String) newValue);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__ICON:
+			setIcon((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ArchitecturePackage.AD_ELEMENT__ID:
+			setId(ID_EDEFAULT);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__NAME:
+			setName(NAME_EDEFAULT);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+			setDescription(DESCRIPTION_EDEFAULT);
+			return;
+		case ArchitecturePackage.AD_ELEMENT__ICON:
+			setIcon(ICON_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ArchitecturePackage.AD_ELEMENT__ID:
+			return ID_EDEFAULT == null ? getId() != null : !ID_EDEFAULT.equals(getId());
+		case ArchitecturePackage.AD_ELEMENT__NAME:
+			return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
+		case ArchitecturePackage.AD_ELEMENT__DESCRIPTION:
+			return DESCRIPTION_EDEFAULT == null ? getDescription() != null : !DESCRIPTION_EDEFAULT.equals(getDescription());
+		case ArchitecturePackage.AD_ELEMENT__QUALIFIED_NAME:
+			return QUALIFIED_NAME_EDEFAULT == null ? getQualifiedName() != null : !QUALIFIED_NAME_EDEFAULT.equals(getQualifiedName());
+		case ArchitecturePackage.AD_ELEMENT__ICON:
+			return ICON_EDEFAULT == null ? getIcon() != null : !ICON_EDEFAULT.equals(getIcon());
+		}
+		return super.eIsSet(featureID);
+	}
+
+} // ADElementImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java
new file mode 100644
index 0000000..6d8d58e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureContextImpl.java
@@ -0,0 +1,546 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.Map;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.emf.ecore.util.EObjectValidator;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.core.JavaModelException;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+import org.eclipse.papyrus.infra.core.architecture.util.ArchitectureValidator;
+import org.eclipse.papyrus.infra.types.ElementTypeSetConfiguration;
+import org.osgi.framework.Bundle;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Context</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getViewpoints <em>Viewpoints</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getDefaultViewpoints <em>Default Viewpoints</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getElementTypes <em>Element Types</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getDomain <em>Domain</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getExtensionPrefix <em>Extension Prefix</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getCreationCommandClass <em>Creation Command Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureContextImpl#getConversionCommandClass <em>Conversion Command Class</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class ArchitectureContextImpl extends ADElementImpl implements ArchitectureContext {
+	/**
+	 * The default value of the '{@link #getExtensionPrefix() <em>Extension Prefix</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getExtensionPrefix()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String EXTENSION_PREFIX_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getCreationCommandClass() <em>Creation Command Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getCreationCommandClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CREATION_COMMAND_CLASS_EDEFAULT = null;
+
+	/**
+	 * The default value of the '{@link #getConversionCommandClass() <em>Conversion Command Class</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getConversionCommandClass()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONVERSION_COMMAND_CLASS_EDEFAULT = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected ArchitectureContextImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<ArchitectureViewpoint> getViewpoints() {
+		return (EList<ArchitectureViewpoint>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__VIEWPOINTS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<ArchitectureViewpoint> getDefaultViewpoints() {
+		return (EList<ArchitectureViewpoint>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<ElementTypeSetConfiguration> getElementTypes() {
+		return (EList<ElementTypeSetConfiguration>) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__ELEMENT_TYPES, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getExtensionPrefix() {
+		return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setExtensionPrefix(String newExtensionPrefix) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX, newExtensionPrefix);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getCreationCommandClass() {
+		return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setCreationCommandClass(String newCreationCommandClass) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS, newCreationCommandClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getConversionCommandClass() {
+		return (String) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setConversionCommandClass(String newConversionCommandClass) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS, newConversionCommandClass);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	@Override
+	public boolean ceationCommandClassExists(DiagnosticChain diagnostics, Map<Object, Object> context) {
+		String creationCommandClass = getCreationCommandClass();
+		if (creationCommandClass != null) {
+			boolean exists = false;
+
+			URI uri = eResource().getURI();
+			if (uri.isPlatformPlugin()) {
+				String bundleName = uri.segment(1);
+				Bundle bundle = Platform.getBundle(bundleName);
+				try {
+					exists = bundle.loadClass(creationCommandClass) != null;
+				} catch (ClassNotFoundException e) {
+					/* ignore */
+				}
+			} else if (uri.isPlatformResource()) {
+				String projectName = uri.segment(1);
+				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+				IJavaProject javaProject = JavaCore.create(project);
+				try {
+					exists = javaProject.findType(creationCommandClass) != null;
+				} catch (JavaModelException e) {
+					/* ignore */
+				}
+			}
+
+			if (!exists) {
+				if (diagnostics != null) {
+					diagnostics.add(new BasicDiagnostic(Diagnostic.ERROR,
+							ArchitectureValidator.DIAGNOSTIC_SOURCE,
+							ArchitectureValidator.ARCHITECTURE_CONTEXT__CEATION_COMMAND_CLASS_EXISTS,
+							EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "ceationCommandClassExists", EObjectValidator.getObjectLabel(this, context) }), //$NON-NLS-1$ //$NON-NLS-2$
+							new Object[] { this }));
+				}
+				return false;
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated NOT
+	 */
+	@Override
+	public boolean conversionCommandClassExists(DiagnosticChain diagnostics, Map<Object, Object> context) {
+		String conversionCommandClass = getConversionCommandClass();
+		if (conversionCommandClass != null) {
+			boolean exists = false;
+
+			URI uri = eResource().getURI();
+			if (uri.isPlatformPlugin()) {
+				String bundleName = uri.segment(1);
+				Bundle bundle = Platform.getBundle(bundleName);
+				try {
+					exists = bundle.loadClass(conversionCommandClass) != null;
+				} catch (ClassNotFoundException e) {
+					/* ignore */
+				}
+			} else if (uri.isPlatformResource()) {
+				String projectName = uri.segment(1);
+				IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+				IJavaProject javaProject = JavaCore.create(project);
+				try {
+					exists = javaProject.findType(conversionCommandClass) != null;
+				} catch (JavaModelException e) {
+					/* ignore */
+				}
+			}
+
+			if (!exists) {
+				if (diagnostics != null) {
+					diagnostics.add(new BasicDiagnostic(Diagnostic.ERROR,
+							ArchitectureValidator.DIAGNOSTIC_SOURCE,
+							ArchitectureValidator.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS_EXISTS,
+							EcorePlugin.INSTANCE.getString("_UI_GenericInvariant_diagnostic", new Object[] { "conversionCommandClassExists", EObjectValidator.getObjectLabel(this, context) }), //$NON-NLS-1$ //$NON-NLS-2$
+							new Object[] { this }));
+				}
+				return false;
+			}
+		}
+		return true;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDomain getDomain() {
+		return (ArchitectureDomain) eDynamicGet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DOMAIN, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject) newDomain, ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDomain(ArchitectureDomain newDomain) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN, ArchitecturePackage.Literals.ARCHITECTURE_CONTEXT__DOMAIN, newDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			return ((InternalEList<InternalEObject>) (InternalEList<?>) getViewpoints()).basicAdd(otherEnd, msgs);
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			if (eInternalContainer() != null) {
+				msgs = eBasicRemoveFromContainer(msgs);
+			}
+			return basicSetDomain((ArchitectureDomain) otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			return ((InternalEList<?>) getViewpoints()).basicRemove(otherEnd, msgs);
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			return basicSetDomain(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS, ArchitectureDomain.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			return getViewpoints();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+			return getDefaultViewpoints();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+			return getElementTypes();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			return getDomain();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+			return getExtensionPrefix();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+			return getCreationCommandClass();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+			return getConversionCommandClass();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			getViewpoints().clear();
+			getViewpoints().addAll((Collection<? extends ArchitectureViewpoint>) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+			getDefaultViewpoints().clear();
+			getDefaultViewpoints().addAll((Collection<? extends ArchitectureViewpoint>) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+			getElementTypes().clear();
+			getElementTypes().addAll((Collection<? extends ElementTypeSetConfiguration>) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			setDomain((ArchitectureDomain) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+			setExtensionPrefix((String) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+			setCreationCommandClass((String) newValue);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+			setConversionCommandClass((String) newValue);
+			return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			getViewpoints().clear();
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+			getDefaultViewpoints().clear();
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+			getElementTypes().clear();
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			setDomain((ArchitectureDomain) null);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+			setExtensionPrefix(EXTENSION_PREFIX_EDEFAULT);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+			setCreationCommandClass(CREATION_COMMAND_CLASS_EDEFAULT);
+			return;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+			setConversionCommandClass(CONVERSION_COMMAND_CLASS_EDEFAULT);
+			return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS:
+			return !getViewpoints().isEmpty();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DEFAULT_VIEWPOINTS:
+			return !getDefaultViewpoints().isEmpty();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__ELEMENT_TYPES:
+			return !getElementTypes().isEmpty();
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__DOMAIN:
+			return getDomain() != null;
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__EXTENSION_PREFIX:
+			return EXTENSION_PREFIX_EDEFAULT == null ? getExtensionPrefix() != null : !EXTENSION_PREFIX_EDEFAULT.equals(getExtensionPrefix());
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CREATION_COMMAND_CLASS:
+			return CREATION_COMMAND_CLASS_EDEFAULT == null ? getCreationCommandClass() != null : !CREATION_COMMAND_CLASS_EDEFAULT.equals(getCreationCommandClass());
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT__CONVERSION_COMMAND_CLASS:
+			return CONVERSION_COMMAND_CLASS_EDEFAULT == null ? getConversionCommandClass() != null : !CONVERSION_COMMAND_CLASS_EDEFAULT.equals(getConversionCommandClass());
+		}
+		return super.eIsSet(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	@SuppressWarnings("unchecked")
+	public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+		switch (operationID) {
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT___CEATION_COMMAND_CLASS_EXISTS__DIAGNOSTICCHAIN_MAP:
+			return ceationCommandClassExists((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+		case ArchitecturePackage.ARCHITECTURE_CONTEXT___CONVERSION_COMMAND_CLASS_EXISTS__DIAGNOSTICCHAIN_MAP:
+			return conversionCommandClassExists((DiagnosticChain) arguments.get(0), (Map<Object, Object>) arguments.get(1));
+		}
+		return super.eInvoke(operationID, arguments);
+	}
+
+} // ArchitectureContextImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java
new file mode 100644
index 0000000..fad428a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionImpl.java
@@ -0,0 +1,154 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionImpl#getContextId <em>Context Id</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionImpl extends CDOObjectImpl implements ArchitectureDescription {
+	/**
+	 * The default value of the '{@link #getContextId() <em>Context Id</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getContextId()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONTEXT_ID_EDEFAULT = null;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureDescriptionImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected int eStaticFeatureCount() {
+		return 0;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getContextId() {
+		return (String)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setContextId(String newContextId) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION__CONTEXT_ID, newContextId);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+				return getContextId();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+				setContextId((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+				setContextId(CONTEXT_ID_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION__CONTEXT_ID:
+				return CONTEXT_ID_EDEFAULT == null ? getContextId() != null : !CONTEXT_ID_EDEFAULT.equals(getContextId());
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArchitectureDescriptionImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java
new file mode 100644
index 0000000..c4d7f9c
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionLanguageImpl.java
@@ -0,0 +1,231 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureContextImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description Language</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getRepresentationKinds <em>Representation Kinds</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getMetamodel <em>Metamodel</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionLanguageImpl#getProfiles <em>Profiles</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionLanguageImpl extends ArchitectureContextImpl implements ArchitectureDescriptionLanguage {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureDescriptionLanguageImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<RepresentationKind> getRepresentationKinds() {
+		return (EList<RepresentationKind>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EPackage getMetamodel() {
+		return (EPackage)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EPackage basicGetMetamodel() {
+		return (EPackage)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, false, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setMetamodel(EPackage newMetamodel) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL, newMetamodel);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<EPackage> getProfiles() {
+		return (EList<EPackage>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getRepresentationKinds()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				return ((InternalEList<?>)getRepresentationKinds()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				return getRepresentationKinds();
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+				if (resolve) {
+					return getMetamodel();
+				}
+				return basicGetMetamodel();
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+				return getProfiles();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				getRepresentationKinds().clear();
+				getRepresentationKinds().addAll((Collection<? extends RepresentationKind>)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+				setMetamodel((EPackage)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+				getProfiles().clear();
+				getProfiles().addAll((Collection<? extends EPackage>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				getRepresentationKinds().clear();
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+				setMetamodel((EPackage)null);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+				getProfiles().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS:
+				return !getRepresentationKinds().isEmpty();
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__METAMODEL:
+				return basicGetMetamodel() != null;
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__PROFILES:
+				return !getProfiles().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArchitectureDescriptionLanguageImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java
new file mode 100644
index 0000000..b66902f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDescriptionPreferencesImpl.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Description Preferences</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDescriptionPreferencesImpl#getViewpointIds <em>Viewpoint Ids</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDescriptionPreferencesImpl extends CDOObjectImpl implements ArchitectureDescriptionPreferences {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureDescriptionPreferencesImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_PREFERENCES;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected int eStaticFeatureCount() {
+		return 0;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<String> getViewpointIds() {
+		return (EList<String>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS, ArchitecturePackage.Literals.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+				return getViewpointIds();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+				getViewpointIds().clear();
+				getViewpointIds().addAll((Collection<? extends String>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+				getViewpointIds().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES__VIEWPOINT_IDS:
+				return !getViewpointIds().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArchitectureDescriptionPreferencesImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java
new file mode 100644
index 0000000..d382779
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureDomainImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Domain</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getStakeholders <em>Stakeholders</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getConcerns <em>Concerns</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureDomainImpl#getContexts <em>Contexts</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureDomainImpl extends ADElementImpl implements ArchitectureDomain {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureDomainImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<Stakeholder> getStakeholders() {
+		return (EList<Stakeholder>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__STAKEHOLDERS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<Concern> getConcerns() {
+		return (EList<Concern>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__CONCERNS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<ArchitectureContext> getContexts() {
+		return (EList<ArchitectureContext>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS, ArchitecturePackage.Literals.ARCHITECTURE_DOMAIN__CONTEXTS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getStakeholders()).basicAdd(otherEnd, msgs);
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getConcerns()).basicAdd(otherEnd, msgs);
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				return ((InternalEList<InternalEObject>)(InternalEList<?>)getContexts()).basicAdd(otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				return ((InternalEList<?>)getStakeholders()).basicRemove(otherEnd, msgs);
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				return ((InternalEList<?>)getConcerns()).basicRemove(otherEnd, msgs);
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				return ((InternalEList<?>)getContexts()).basicRemove(otherEnd, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				return getStakeholders();
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				return getConcerns();
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				return getContexts();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				getStakeholders().clear();
+				getStakeholders().addAll((Collection<? extends Stakeholder>)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				getConcerns().clear();
+				getConcerns().addAll((Collection<? extends Concern>)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				getContexts().clear();
+				getContexts().addAll((Collection<? extends ArchitectureContext>)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				getStakeholders().clear();
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				getConcerns().clear();
+				return;
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				getContexts().clear();
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS:
+				return !getStakeholders().isEmpty();
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS:
+				return !getConcerns().isEmpty();
+			case ArchitecturePackage.ARCHITECTURE_DOMAIN__CONTEXTS:
+				return !getContexts().isEmpty();
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArchitectureDomainImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java
new file mode 100644
index 0000000..a26b15a
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFactoryImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescription;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionPreferences;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFactory;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFramework;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * 
+ * @generated
+ */
+public class ArchitectureFactoryImpl extends EFactoryImpl implements ArchitectureFactory {
+	/**
+	 * Creates the default factory implementation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public static ArchitectureFactory init() {
+		try {
+			ArchitectureFactory theArchitectureFactory = (ArchitectureFactory) EPackage.Registry.INSTANCE.getEFactory(ArchitecturePackage.eNS_URI);
+			if (theArchitectureFactory != null) {
+				return theArchitectureFactory;
+			}
+		} catch (Exception exception) {
+			EcorePlugin.INSTANCE.log(exception);
+		}
+		return new ArchitectureFactoryImpl();
+	}
+
+	/**
+	 * Creates an instance of the factory.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	public ArchitectureFactoryImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public EObject create(EClass eClass) {
+		switch (eClass.getClassifierID()) {
+		case ArchitecturePackage.ARCHITECTURE_DOMAIN:
+			return createArchitectureDomain();
+		case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE:
+			return createArchitectureDescriptionLanguage();
+		case ArchitecturePackage.STAKEHOLDER:
+			return createStakeholder();
+		case ArchitecturePackage.CONCERN:
+			return createConcern();
+		case ArchitecturePackage.ARCHITECTURE_VIEWPOINT:
+			return createArchitectureViewpoint();
+		case ArchitecturePackage.ARCHITECTURE_FRAMEWORK:
+			return createArchitectureFramework();
+		case ArchitecturePackage.ARCHITECTURE_DESCRIPTION:
+			return createArchitectureDescription();
+		case ArchitecturePackage.ARCHITECTURE_DESCRIPTION_PREFERENCES:
+			return createArchitectureDescriptionPreferences();
+		default:
+			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDomain createArchitectureDomain() {
+		ArchitectureDomainImpl architectureDomain = new ArchitectureDomainImpl();
+		return architectureDomain;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDescriptionLanguage createArchitectureDescriptionLanguage() {
+		ArchitectureDescriptionLanguageImpl architectureDescriptionLanguage = new ArchitectureDescriptionLanguageImpl();
+		return architectureDescriptionLanguage;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Stakeholder createStakeholder() {
+		StakeholderImpl stakeholder = new StakeholderImpl();
+		return stakeholder;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public Concern createConcern() {
+		ConcernImpl concern = new ConcernImpl();
+		return concern;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureViewpoint createArchitectureViewpoint() {
+		ArchitectureViewpointImpl architectureViewpoint = new ArchitectureViewpointImpl();
+		return architectureViewpoint;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureFramework createArchitectureFramework() {
+		ArchitectureFrameworkImpl architectureFramework = new ArchitectureFrameworkImpl();
+		return architectureFramework;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDescription createArchitectureDescription() {
+		ArchitectureDescriptionImpl architectureDescription = new ArchitectureDescriptionImpl();
+		return architectureDescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDescriptionPreferences createArchitectureDescriptionPreferences() {
+		ArchitectureDescriptionPreferencesImpl architectureDescriptionPreferences = new ArchitectureDescriptionPreferencesImpl();
+		return architectureDescriptionPreferences;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @generated
+	 */
+	@Override
+	public ArchitecturePackage getArchitecturePackage() {
+		return (ArchitecturePackage) getEPackage();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * 
+	 * @deprecated
+	 * @generated
+	 */
+	@Deprecated
+	public static ArchitecturePackage getPackage() {
+		return ArchitecturePackage.eINSTANCE;
+	}
+
+} // ArchitectureFactoryImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java
new file mode 100644
index 0000000..80bf5fe
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureFrameworkImpl.java
@@ -0,0 +1,50 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ * 
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *  
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *  
+ * 
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureFramework;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.impl.ArchitectureContextImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Framework</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ArchitectureFrameworkImpl extends ArchitectureContextImpl implements ArchitectureFramework {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureFrameworkImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_FRAMEWORK;
+	}
+
+} //ArchitectureFrameworkImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java
new file mode 100644
index 0000000..78cac92
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ArchitectureViewpointImpl.java
@@ -0,0 +1,245 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureContext;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureViewpoint;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Viewpoint</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getConcerns <em>Concerns</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getRepresentationKinds <em>Representation Kinds</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ArchitectureViewpointImpl#getContext <em>Context</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ArchitectureViewpointImpl extends ADElementImpl implements ArchitectureViewpoint {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ArchitectureViewpointImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<Concern> getConcerns() {
+		return (EList<Concern>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONCERNS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<RepresentationKind> getRepresentationKinds() {
+		return (EList<RepresentationKind>)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ArchitectureContext getContext() {
+		return (ArchitectureContext)eDynamicGet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONTEXT, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetContext(ArchitectureContext newContext, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newContext, ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setContext(ArchitectureContext newContext) {
+		eDynamicSet(ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT, ArchitecturePackage.Literals.ARCHITECTURE_VIEWPOINT__CONTEXT, newContext);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				if (eInternalContainer() != null) {
+					msgs = eBasicRemoveFromContainer(msgs);
+				}
+				return basicSetContext((ArchitectureContext)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				return basicSetContext(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_CONTEXT__VIEWPOINTS, ArchitectureContext.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+				return getConcerns();
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+				return getRepresentationKinds();
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				return getContext();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+				getConcerns().clear();
+				getConcerns().addAll((Collection<? extends Concern>)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+				getRepresentationKinds().clear();
+				getRepresentationKinds().addAll((Collection<? extends RepresentationKind>)newValue);
+				return;
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				setContext((ArchitectureContext)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+				getConcerns().clear();
+				return;
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+				getRepresentationKinds().clear();
+				return;
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				setContext((ArchitectureContext)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONCERNS:
+				return !getConcerns().isEmpty();
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__REPRESENTATION_KINDS:
+				return !getRepresentationKinds().isEmpty();
+			case ArchitecturePackage.ARCHITECTURE_VIEWPOINT__CONTEXT:
+				return getContext() != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ArchitectureViewpointImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java
new file mode 100644
index 0000000..4d24b15
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/ConcernImpl.java
@@ -0,0 +1,193 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concern</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.ConcernImpl#getDomain <em>Domain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ConcernImpl extends ADElementImpl implements Concern {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected ConcernImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.CONCERN;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDomain getDomain() {
+		return (ArchitectureDomain)eDynamicGet(ArchitecturePackage.CONCERN__DOMAIN, ArchitecturePackage.Literals.CONCERN__DOMAIN, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newDomain, ArchitecturePackage.CONCERN__DOMAIN, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDomain(ArchitectureDomain newDomain) {
+		eDynamicSet(ArchitecturePackage.CONCERN__DOMAIN, ArchitecturePackage.Literals.CONCERN__DOMAIN, newDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				if (eInternalContainer() != null) {
+					msgs = eBasicRemoveFromContainer(msgs);
+				}
+				return basicSetDomain((ArchitectureDomain)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				return basicSetDomain(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__CONCERNS, ArchitectureDomain.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				return getDomain();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				setDomain((ArchitectureDomain)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				setDomain((ArchitectureDomain)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.CONCERN__DOMAIN:
+				return getDomain() != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //ConcernImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java
new file mode 100644
index 0000000..0cc7fb8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/RepresentationKindImpl.java
@@ -0,0 +1,261 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Representation Kind</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getLanguage <em>Language</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getConcerns <em>Concerns</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.RepresentationKindImpl#getGrayedIcon <em>Grayed Icon</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public abstract class RepresentationKindImpl extends ADElementImpl implements RepresentationKind {
+	/**
+	 * The default value of the '{@link #getGrayedIcon() <em>Grayed Icon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getGrayedIcon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String GRAYED_ICON_EDEFAULT = null;
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected RepresentationKindImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.REPRESENTATION_KIND;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<Concern> getConcerns() {
+		return (EList<Concern>)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__CONCERNS, ArchitecturePackage.Literals.REPRESENTATION_KIND__CONCERNS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getGrayedIcon() {
+		return (String)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON, ArchitecturePackage.Literals.REPRESENTATION_KIND__GRAYED_ICON, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setGrayedIcon(String newGrayedIcon) {
+		eDynamicSet(ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON, ArchitecturePackage.Literals.REPRESENTATION_KIND__GRAYED_ICON, newGrayedIcon);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDescriptionLanguage getLanguage() {
+		return (ArchitectureDescriptionLanguage)eDynamicGet(ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, ArchitecturePackage.Literals.REPRESENTATION_KIND__LANGUAGE, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetLanguage(ArchitectureDescriptionLanguage newLanguage, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newLanguage, ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setLanguage(ArchitectureDescriptionLanguage newLanguage) {
+		eDynamicSet(ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE, ArchitecturePackage.Literals.REPRESENTATION_KIND__LANGUAGE, newLanguage);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				if (eInternalContainer() != null) {
+					msgs = eBasicRemoveFromContainer(msgs);
+				}
+				return basicSetLanguage((ArchitectureDescriptionLanguage)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				return basicSetLanguage(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DESCRIPTION_LANGUAGE__REPRESENTATION_KINDS, ArchitectureDescriptionLanguage.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				return getLanguage();
+			case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+				return getConcerns();
+			case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+				return getGrayedIcon();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				setLanguage((ArchitectureDescriptionLanguage)newValue);
+				return;
+			case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+				getConcerns().clear();
+				getConcerns().addAll((Collection<? extends Concern>)newValue);
+				return;
+			case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+				setGrayedIcon((String)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				setLanguage((ArchitectureDescriptionLanguage)null);
+				return;
+			case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+				getConcerns().clear();
+				return;
+			case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+				setGrayedIcon(GRAYED_ICON_EDEFAULT);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.REPRESENTATION_KIND__LANGUAGE:
+				return getLanguage() != null;
+			case ArchitecturePackage.REPRESENTATION_KIND__CONCERNS:
+				return !getConcerns().isEmpty();
+			case ArchitecturePackage.REPRESENTATION_KIND__GRAYED_ICON:
+				return GRAYED_ICON_EDEFAULT == null ? getGrayedIcon() != null : !GRAYED_ICON_EDEFAULT.equals(getGrayedIcon());
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //RepresentationKindImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java
new file mode 100644
index 0000000..fc8fce1
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.core.architecture.cdo/src/org/eclipse/papyrus/infra/core/architecture/cdo/StakeholderImpl.java
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2017 CEA LIST.
+ *
+ *  All rights reserved. This program and the accompanying materials
+ *  are made available under the terms of the Eclipse Public License 2.0
+ *  which accompanies this distribution, and is available at
+ *  https://www.eclipse.org/legal/epl-2.0/
+ *
+ *  SPDX-License-Identifier: EPL-2.0
+ *
+ *  Contributors:
+ *  Maged Elaasar - Initial API and implementation
+ *
+ *
+ */
+package org.eclipse.papyrus.infra.core.architecture.cdo;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.papyrus.infra.core.architecture.ArchitectureDomain;
+import org.eclipse.papyrus.infra.core.architecture.ArchitecturePackage;
+import org.eclipse.papyrus.infra.core.architecture.Concern;
+import org.eclipse.papyrus.infra.core.architecture.Stakeholder;
+import org.eclipse.papyrus.infra.core.architecture.impl.ADElementImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stakeholder</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.StakeholderImpl#getConcerns <em>Concerns</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.infra.core.architecture.cdo.StakeholderImpl#getDomain <em>Domain</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class StakeholderImpl extends ADElementImpl implements Stakeholder {
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected StakeholderImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return ArchitecturePackage.Literals.STAKEHOLDER;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public EList<Concern> getConcerns() {
+		return (EList<Concern>)eDynamicGet(ArchitecturePackage.STAKEHOLDER__CONCERNS, ArchitecturePackage.Literals.STAKEHOLDER__CONCERNS, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public ArchitectureDomain getDomain() {
+		return (ArchitectureDomain)eDynamicGet(ArchitecturePackage.STAKEHOLDER__DOMAIN, ArchitecturePackage.Literals.STAKEHOLDER__DOMAIN, true, true);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public NotificationChain basicSetDomain(ArchitectureDomain newDomain, NotificationChain msgs) {
+		msgs = eBasicSetContainer((InternalEObject)newDomain, ArchitecturePackage.STAKEHOLDER__DOMAIN, msgs);
+		return msgs;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDomain(ArchitectureDomain newDomain) {
+		eDynamicSet(ArchitecturePackage.STAKEHOLDER__DOMAIN, ArchitecturePackage.Literals.STAKEHOLDER__DOMAIN, newDomain);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				if (eInternalContainer() != null) {
+					msgs = eBasicRemoveFromContainer(msgs);
+				}
+				return basicSetDomain((ArchitectureDomain)otherEnd, msgs);
+		}
+		return super.eInverseAdd(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				return basicSetDomain(null, msgs);
+		}
+		return super.eInverseRemove(otherEnd, featureID, msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+		switch (eContainerFeatureID()) {
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				return eInternalContainer().eInverseRemove(this, ArchitecturePackage.ARCHITECTURE_DOMAIN__STAKEHOLDERS, ArchitectureDomain.class, msgs);
+		}
+		return super.eBasicRemoveFromContainerFeature(msgs);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+				return getConcerns();
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				return getDomain();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@SuppressWarnings("unchecked")
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+				getConcerns().clear();
+				getConcerns().addAll((Collection<? extends Concern>)newValue);
+				return;
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				setDomain((ArchitectureDomain)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+				getConcerns().clear();
+				return;
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				setDomain((ArchitectureDomain)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case ArchitecturePackage.STAKEHOLDER__CONCERNS:
+				return !getConcerns().isEmpty();
+			case ArchitecturePackage.STAKEHOLDER__DOMAIN:
+				return getDomain() != null;
+		}
+		return super.eIsSet(featureID);
+	}
+
+} //StakeholderImpl
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project
new file mode 100644
index 0000000..f997d05
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.project
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.infra.nattable.model.cdo</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.oomph.version.VersionBuilder</name>
+			<arguments>
+				<dictionary>
+					<key>check.maven.pom</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>ignore.lower.bound.dependency.ranges</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>release.path</key>
+					<value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.oomph.version.VersionNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..e622598
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,297 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..a8d997f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/META-INF/MANIFEST.MF
@@ -0,0 +1,34 @@
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.types;bundle-version="[4.0.0,5.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.emf.expressions;bundle-version="[1.0.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.emf;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.emf.cdo;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.emf.cdo.ecore;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="[4.2.0,5.0.0)"
+Export-Package: org.eclipse.papyrus.infra.nattable.model.cdo,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxis.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisconfiguration.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableaxisprovider.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecell.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablecelleditor.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableconfiguration.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablelabelprovider.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattableproblem.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablestyle.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattabletester.impl,
+ org.eclipse.papyrus.infra.nattable.model.cdo.nattable.nattablewrapper.impl
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 4.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.infra.nattable.model.cdo.Activator
+Bundle-ManifestVersion: 2
+Bundle-Description: %pluginDescription
+Bundle-SymbolicName: org.eclipse.papyrus.infra.nattable.model.cdo;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Automatic-Module-Name: org.eclipse.papyrus.infra.nattable.model.cdo
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html
new file mode 100644
index 0000000..ef2872f
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 30, 2017</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="https://www.eclipse.org/legal/epl-2.0/">https://www.eclipse.org/legal/epl-2.0/</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties
new file mode 100644
index 0000000..7663594
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/build.properties
@@ -0,0 +1,23 @@
+# Copyright (c) 2013 CEA LIST.
+# 
+# 
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+# 
+# Contributors:
+# 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+
+bin.includes = .,\
+               model/,\
+               META-INF/,\
+               plugin.xml,\
+               plugin.properties,\
+               about.html
+jars.compile.order = .
+source.. = src/
+output.. = bin/
+src.includes = about.html
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore
new file mode 100644
index 0000000..9e60e12
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecore
@@ -0,0 +1,1098 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="nattable" nsURI="http://www.eclipse.org/papyrus/nattable/model"
+    nsPrefix="nattable">
+  <eAnnotations source="http://www.eclipse.org/OCL/Import">
+    <details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore#/"/>
+  </eAnnotations>
+  <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+    <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+    <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+    <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+  </eAnnotations>
+  <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+      <details key="constraints" value="currentRowAxisInHistory currentColumnAxisInHistory currentAxisProvidersTypes"/>
+    </eAnnotations>
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+      <details key="currentRowAxisInHistory" value="rowAxisProvidersHistory->includes(currentRowAxisProvider)"/>
+      <details key="currentColumnAxisInHistory" value="columnAxisProvidersHistory->includes(currentColumnAxisProvider)"/>
+      <details key="currentAxisProvidersTypes" value="not (currentRowAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider) and currentColumnAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider))"/>
+    </eAnnotations>
+    <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+      <details key="documentation" value="This object represents the table. It is used to save the interesting informations of the graphical table.&#xD;&#xA;&#xD;&#xA;The currentAxisProviders can be : Master/Master, Master/Slave, Slave/Master and never Slave/Slave."/>
+    </eAnnotations>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1"
+        eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="The context is used for two things : &#xD;&#xA;&lt;ul> &lt;li>&quot;virtual&quot; parent to display the table in the Papyrus Model Explorer &lt;/li>&#xD;&#xA;&lt;li>container of the objects created in the table&lt;/li>&#xD;&#xA;&lt;/ul> &#xD;&#xA;The context can't be null;"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="prototype" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="tableConfiguration" lowerBound="1"
+        eType="#//nattableconfiguration/TableConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Reference the configuration used by the table. This field can't be null."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="invertAxis" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" defaultValueLiteral="false">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="If true, the axis will be inverted on the screen. When the user inverts the axis, &#xD;&#xA;only this boolean is changed. We must not invert the currentRowAxis and the currentColumnAxis neither the histories or the AxisConfiguration"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="columnAxisProvidersHistory"
+        lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+        containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This list contains all the columns configurations already used by the user and saved in this list by him."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="rowAxisProvidersHistory"
+        lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+        containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This list contains all the rowsconfigurations already used by the user and saved in this list by him."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="localRowHeaderAxisConfiguration"
+        eType="#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This field contains the row headerAxisConfiguration. It could be null. &#xD;&#xA;In this case we use the row TableHeaderAxisConfiguration stored in the TableConfiguration of this table."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="localColumnHeaderAxisConfiguration"
+        eType="#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This field contains the columnheaderAxisConfiguration. It could be null. &#xD;&#xA;In this case we use the column TableHeaderAxisConfiguration stored in the TableConfiguration of this table."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="currentRowAxisProvider"
+        lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the current row AxisProvider used in the table.&#xD;&#xA;The value must be owned by rowAxisProviderHistory"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="currentColumnAxisProvider"
+        lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="References the current column AxisProvider used in the table.&#xD;&#xA;The value must be owned by column AxisProviderHistory"/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="cells" upperBound="-1"
+        eType="#//nattablecell/Cell" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Cells of the table. They are used when the value to display can't be deduced of&#xD;&#xA;the intersection of the row and the column."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCellEditorConfigurations"
+        eType="#//nattablecelleditor/ICellEditorConfiguration" containment="true">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="In some case (Matrix Table for example), the table can have celleditor configuration."/>
+      </eAnnotations>
+    </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="tableKindId" lowerBound="1"
+        eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+  </eClassifiers>
+  <eSubpackages name="nattableconfiguration" nsURI="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration"
+      nsPrefix="nattableconfiguration">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="TableNamedElement" abstract="true"
+        eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract Element used in this metamodel for named element which have a description."/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+        <details key="constraints" value="nonEmptyName"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+        <details key="nonEmptyName" value="not (name.oclIsUndefined() or name = '')"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The description of the named element."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The name of the named element."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TableConfiguration" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+        <details key="constraints" value="defaultRowAxisProviderExistsInCollection defaultColumnAxisProviderExistsInCollection defaultAxisProvidersTypes typeNonNullNonEmpty iconPath"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+        <details key="defaultRowAxisProviderExistsInCollection" value="rowAxisProviders->includes(defaultRowAxisProvider)"/>
+        <details key="defaultColumnAxisProviderExistsInCollection" value="columnAxisProviders->includes(defaultColumnAxisProvider)"/>
+        <details key="typeNonNullNonEmpty" value="not (type.oclIsUndefined() or type = '')"/>
+        <details key="iconPath" value="not (iconPath.oclIsUndefined() or iconPath = '')"/>
+        <details key="defaultAxisProvidersTypes" value="not (defaultRowAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider) and defaultColumnAxisProvider.oclIsKindOf(nattableaxisprovider::ISlaveAxisProvider))"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This object is used to configure a table. To create a new type of table, you must create &#xD;&#xA;a new file *.nattableConfiguration and register it using the extension point org.eclipse.papyrus.infra.nattable.configuration&#xD;&#xA;&#xD;&#xA;the defaultAxisProviders can be : Master/Master, Master/Slave, Slave/Master and never Slave/Slave."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The type of the table. This value is used to be able to open/close easily the table editor in Papyrus. &#xD;&#xA;Moreover it allows to distinghuish easily the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconPath" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The path of the icon to use for the table which references this TableConfiguration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="creationTester" eType="#//nattabletester/AbstractTableTester"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value could be null. The tester is used to know if this tableConfiguration can be used&#xD;&#xA;to create a new table using as context the selected element."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="cellEditorDeclaration"
+          lowerBound="1" eType="#//nattableconfiguration/CellEditorDeclaration" defaultValueLiteral="COLUMN">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. Indicates how the CellEditor must be declared. &#xD;&#xA;In the common table, we display features as columns and objects as line. &#xD;&#xA;In this case the cell editors are specific to features, so the cell editor must be declared on the columns."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="rowHeaderAxisConfiguration"
+          lowerBound="1" eType="#//nattableaxisconfiguration/TableHeaderAxisConfiguration"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. Gives the initial row configuration of the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="columnHeaderAxisConfiguration"
+          lowerBound="1" eType="#//nattableaxisconfiguration/TableHeaderAxisConfiguration"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. Gives the initial column configuration of the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="columnAxisProviders"
+          lowerBound="1" upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This list can't be empty. Contains list of possible column AxisProvider for the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="rowAxisProviders" lowerBound="1"
+          upperBound="-1" eType="#//nattableaxisprovider/AbstractAxisProvider" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This list can't be empty. Contains a list of possible row AxisProvider for the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="defaultRowAxisProvider"
+          lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. References the Axis Provider to use by default for rows."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="defaultColumnAxisProvider"
+          lowerBound="1" eType="#//nattableaxisprovider/AbstractAxisProvider">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. References the Axis Provider to use by default for columns."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedCellEditorConfigurations"
+          eType="#//nattablecelleditor/ICellEditorConfiguration" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="In some case (Matrix Table for example), the table can have celleditor configuration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="CellEditorDeclaration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Indicates how the CellEditor must be declared. &#xD;&#xA;In the common table, we display features as columns and objects as line. &#xD;&#xA;In this case the cell editors are specific to features, so the cell editor must be declared on the columns."/>
+      </eAnnotations>
+      <eLiterals name="COLUMN"/>
+      <eLiterals name="ROW" value="1"/>
+      <eLiterals name="CELL" value="2"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattableaxisprovider" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider"
+      nsPrefix="nattableaxisprovider">
+    <eClassifiers xsi:type="ecore:EClass" name="AbstractAxisProvider" abstract="true"
+        eSuperTypes="#//nattableconfiguration/TableNamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract Element for the AxisProvider. This one only provides a method getAxis()."/>
+      </eAnnotations>
+      <eOperations name="getAxis" upperBound="-1" eType="#//nattableaxis/IAxis">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This method must returns the IAxis owned by the AxisProvider.&#xD;&#xA;Warning, in case of syncrhonized table, the list often will be empty. This method&#xD;&#xA;only returns the IAxis serialized in the model. Displayed elements are not necessary serialized.&#xD;&#xA;"/>
+        </eAnnotations>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IMasterAxisProvider" abstract="true"
+        interface="true" eSuperTypes="#//nattableaxisprovider/AxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Interface used to distinghuish master axis provider from slave axis provider. &#xD;&#xA;The master are able to disconnect the slave."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="disconnectSlave" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="if true, the slave won't be updated when the elements owned by the master will be changed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="sources" upperBound="-1"
+          eType="#//nattablewrapper/IWrapper" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field is used by Matrix Table. it replaces the context of the table as provider for the axis."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ISlaveAxisProvider" abstract="true"
+        interface="true" eSuperTypes="#//nattableaxisprovider/AxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Interface used to distinghuish the master from the slave axis provider."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AxisProvider" abstract="true" eSuperTypes="#//nattableaxisprovider/AbstractAxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="AbstractAxisProvider. This one owns IAxis"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axis" upperBound="-1"
+          eType="#//nattableaxis/IAxis" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="IAxis owned by the AxisProvider. The list can be empty in case of synchronized table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="SlaveObjectAxisProvider" eSuperTypes="#//nattableaxisprovider/ISlaveAxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Concret implementation of ISlaveAxisProvider"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="MasterObjectAxisProvider" eSuperTypes="#//nattableaxisprovider/IMasterAxisProvider">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Concret implementation of IMasterAxisProvider"/>
+      </eAnnotations>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattablelabelprovider" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecontentprovider"
+      nsPrefix="nattablelabelprovider">
+    <eClassifiers xsi:type="ecore:EClass" name="ILabelProviderConfiguration" abstract="true"
+        interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common Interface for LabelProviderConfiguration"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureLabelProviderConfiguration"
+        eSuperTypes="#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="LabelProviderConfiguration for Feature. In case of Feature. we have two display options : &#xD;&#xA;&lt;ul>&lt;li>display the icon of the feature &lt;/li> &#xD;&#xA;&lt;li>display the label of the feature &lt;/li>&#xD;&#xA;&lt;li>display the multiplicity of the feature &lt;/li>&#xD;&#xA;&lt;li>display the type of the feature &lt;/li>&#xD;&#xA;&lt;li>display the '/' for isDerived of the feature &lt;/li>&#xD;&#xA;&lt;li>display the name of the feature &lt;/li>&#xD;&#xA; &lt;/ul>"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIsDerived" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the '/' for isDerived"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayType" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the typeof the feature"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayMultiplicity"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the multiplicity of the feature"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the name of the feature"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ObjectLabelProviderConfiguration"
+        eSuperTypes="#//nattablelabelprovider/ILabelProviderConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="LabelProviderConfiguration for Object. In case of Object we have two display options : &#xD;&#xA;&lt;ul>&lt;li>display the icon of the object&lt;/li> &#xD;&#xA;&lt;li>display the label of the object&lt;/li> &lt;/ul>"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIcon" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the icon of the object"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayLabel" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, we will display the label of the object"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OperationLabelProviderConfiguration"
+        eSuperTypes="#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="LabelProviderConfiguration for Operation. In case of Operation, we have four display options : &#xD;&#xA;&lt;ul>&lt;li>display the icon of the Operation&lt;/li> &#xD;&#xA;&lt;li>display the label of the Operation&lt;/li>&#xD;&#xA;&lt;li>display the multiplicity of the Operation&lt;/li>&#xD;&#xA;&lt;li>display the type of the Operation&lt;/li>&#xD;&#xA;&lt;li>display the '/' for isDerived of the feature &lt;/li>&#xD;&#xA;&lt;li>display the name of the feature &lt;/li>&#xD;&#xA; &lt;/ul>"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayType" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayMultiplicity"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayName" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattableaxisconfiguration" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration"
+      nsPrefix="nattableaxisconfiguration">
+    <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+      <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+      <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+      <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
+    </eAnnotations>
+    <eClassifiers xsi:type="ecore:EClass" name="AbstractHeaderAxisConfiguration" abstract="true"
+        eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract Class for the HeaderAxisConfiguration. This class provides : &#xD;&#xA;&lt;ul>&lt;li>informations on the appearance of the header&lt;/li>&#xD;&#xA;&lt;li> a list of label configuration which can be used by the header&lt;/li>&#xD;&#xA;&lt;li> a list of axisConfiguration. These axis configuration are used to provide the contents of the axis&lt;/li>&#xD;&#xA;&lt;/ul>"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="indexStyle" lowerBound="1"
+          eType="#//nattableaxisconfiguration/AxisIndexStyle">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. Indicates how to display the index of the Axis : using letter or using number."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayLabel" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, the label header will be displayed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayFilter" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="false">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true AND if the axisConfiguration is used as column, the row filter will be displayed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayIndex" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, the index header will be displayed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedLabelConfigurations"
+          upperBound="-1" eType="#//nattablelabelprovider/ILabelProviderConfiguration"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The list of the possible label configuration, referenced by the axis configuration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAxisConfigurations"
+          upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The list of the owned axis configuration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AxisManagerRepresentation" eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This class is used to represents in the model the java Axis Manager."/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+        <details key="constraints" value="nonEmptyAxisManager"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+        <details key="nonEmptyAxisManager" value="not (axisManagerId.oclIsUndefined() or axisManagerId = '')"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="axisManagerId" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This id allows to find the Java Axis Manager represented by this element.&#xD;&#xA;To find it you must use AxisManagerFactory.INSTANCE.getAxisManager(AxisManagerRepresentation)&#xD;&#xA;To register a Java Axis Manager,you must use the extension point  : org.eclipse.papyrus.infra.nattable.axismanager"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelProviderContext"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The context on which the label provider to use for this AxisManagerRepresentation are declared.&#xD;&#xA;(see the Papyrus Label Provider Service for further informations)"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="headerLabelConfiguration"
+          lowerBound="1" eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The label provider configuration to use for the header of the axis provided by the represented AxisManager"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="specificAxisConfigurations"
+          upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="A list of specific configurations to use for this axis."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="AxisManagerConfiguration" eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This object allows to define and configure a Java AxisManager"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="localHeaderLabelConfiguration"
+          eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Reference the local header label configuration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axisManager" lowerBound="1"
+          eType="#//nattableaxisconfiguration/AxisManagerRepresentation">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This value can't be null. the axis manager representation"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="localSpecificConfigurations"
+          upperBound="-1" eType="#//nattableaxisconfiguration/IAxisConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="specific configurations for the axis manager."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TableHeaderAxisConfiguration" eSuperTypes="#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
+        <details key="constraints" value="axisManagersIdUnique"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
+        <details key="axisManagersIdUnique" value="axisManagers->forAll(am1 : AxisManagerRepresentation | ( (axisManagers->excluding (am1))->forAll(am2 : AxisManagerRepresentation | am1.axisManagerId&lt;>am2.axisManagerId) ))"/>
+      </eAnnotations>
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Defines the configuration of the axis in the TableConfiguration"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axisManagers" lowerBound="1"
+          upperBound="-1" eType="#//nattableaxisconfiguration/AxisManagerRepresentation"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This list can't be empty. The list of the AxisManager used to fill the axis."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="LocalTableHeaderAxisConfiguration"
+        eSuperTypes="#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Define the configuration of the axis (rows or columns) in the table."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axisManagerConfigurations"
+          upperBound="-1" eType="#//nattableaxisconfiguration/AxisManagerConfiguration"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This list contains the configuration of the axis managers used in the table."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IAxisConfiguration" abstract="true"
+        interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Comon Interface for axis configuration."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureAxisConfiguration" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Configuration to use for Axis representing features"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="showOnlyCommonFeature"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, only the common features will be displayed on the axis."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IFillingConfiguration" abstract="true"
+        interface="true" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Comon Interface for filling configurations."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureValueFillingConfiguration"
+        eSuperTypes="#//nattableaxisconfiguration/IFillingConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Configuration used to fill the table listening a feature of the context of the table"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="listenFeature" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field can't be null. References the feature of the context of the table to listen.&#xD;&#xA;It is possible that the context doesn't have this feature."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IPasteConfiguration" eSuperTypes="#//nattableaxisconfiguration/IAxisConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common Interface for the paste configuration."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="postActions" upperBound="-1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field references post actions, using a string to do during the paste, after the creation of the element. "/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="detachedMode" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="If true, the created elements will be added at the end of the paste and the set values&#xD;&#xA;won't be do using the service edit"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="PasteEObjectConfiguration" eSuperTypes="#//nattableaxisconfiguration/IPasteConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Configuration to use to paste EObject in the table."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="pastedElementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The String representing the EClass of the elements to create (see papyrus services types for further information)"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="pasteElementContainementFeature"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field references the feature of the context of the table in which the created element will be added."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axisIdentifier" eType="#//nattableaxis/IAxis"
+          containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="AxisIndexStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Enumeration used to describe the possible style of the index of the headers."/>
+      </eAnnotations>
+      <eLiterals name="ALPHABETIC" value="1">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Index Headers count will be : A-B-C-...Y-Z-AA-AB-..."/>
+        </eAnnotations>
+      </eLiterals>
+      <eLiterals name="NUMERIC">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Index Headers count will be : 1-2-3-..."/>
+        </eAnnotations>
+      </eLiterals>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TreeFillingConfiguration" eSuperTypes="#//nattableaxisconfiguration/IFillingConfiguration">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="axisUsedAsAxisProvider"
+          lowerBound="1" eType="#//nattableaxis/IAxis" containment="true"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="pasteConfiguration" eType="#//nattableaxisconfiguration/PasteEObjectConfiguration"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="depth" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EInt"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="labelProvider" lowerBound="1"
+          eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="le label provider used to display string and image for this level in the tree"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="labelProviderContext"
+          lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="filterRule" eType="ecore:EClass ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.ecore#//booleanexpressions/IBooleanEObjectExpression"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field is used to filter the elements to show for this depth. &#xD;&#xA;Only element matching the filter will be returned."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattabletester" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattabletester"
+      nsPrefix="nattabletester">
+    <eClassifiers xsi:type="ecore:EClass" name="AbstractTableTester" abstract="true"
+        eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract class for the tester."/>
+      </eAnnotations>
+      <eOperations name="getTester" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Returns an object representing the tester"/>
+        </eAnnotations>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="JavaTableTester" eSuperTypes="#//nattabletester/AbstractTableTester">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This class allows to references a JavaTableTester. The Java class is declared with an id, using the extension point org.eclipse.papyrus.infra.nattable.tester.&#xD;&#xA;The field tester must be the id declared in this extension point."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="tester" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The id of the java tester declared using the extension point org.eclispe.papyrus.infra.nattable.tester"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattableaxis" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis"
+      nsPrefix="nattableaxis">
+    <eClassifiers xsi:type="ecore:EClass" name="IAxis" abstract="true" interface="true"
+        eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common interface for the axis of the table. (An axis is a specific row or a specific column)"/>
+      </eAnnotations>
+      <eOperations name="getElement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Returns the elements represented by the IAxis"/>
+        </eAnnotations>
+      </eOperations>
+      <eOperations name="getLocalLabelConfiguration" eType="#//nattablelabelprovider/ILabelProviderConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration&#xD;&#xA;will override the label configuration defined in the AxisManagerConfiguration."/>
+        </eAnnotations>
+      </eOperations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="manager" eType="#//nattableaxisconfiguration/AxisManagerRepresentation">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field can't be null. Reference the axis manager providing this IAxis."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="An element can be displayed using an alias instead of its real name."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ITreeItemAxis" abstract="true" interface="true"
+        eSuperTypes="#//nattableaxis/IAxis">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//nattableaxis/ITreeItemAxis"
+          eOpposite="#//nattableaxis/ITreeItemAxis/children"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="expanded" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          transient="true" defaultValueLiteral="false"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+          eType="#//nattableaxis/ITreeItemAxis" derived="true" eOpposite="#//nattableaxis/ITreeItemAxis/parent"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This obejct allows to reference an element using a string instead of referencing it directly."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdTreeItemAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectAxis" eSuperTypes="#//nattableaxis/ObjectAxis">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This IAxis allows to reference an EObject."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectTreeItemAxis" eSuperTypes="#//nattableaxis/EObjectAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract class used to reference features."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+          eType="#//nattablelabelprovider/FeatureLabelProviderConfiguration" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration&#xD;&#xA;will override the label configuration defined in the AxisManagerConfiguration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OperationAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+          eType="#//nattablelabelprovider/OperationLabelProviderConfiguration" containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureTreeItemAxis" abstract="true"
+        eSuperTypes="#//nattableaxis/FeatureAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="OperationTreeItemAxis" abstract="true"
+        eSuperTypes="#//nattableaxis/OperationAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ObjectAxis" abstract="true" eSuperTypes="#//nattableaxis/IAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Abstract class used to reference object"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="localLabelConfiguration"
+          eType="#//nattablelabelprovider/ObjectLabelProviderConfiguration" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Returns the local label configuration to use for this IAxis. This configuration&#xD;&#xA;will override the label configuration defined in the AxisManagerConfiguration."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ObjectTreeItemAxis" abstract="true"
+        eSuperTypes="#//nattableaxis/ObjectAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/FeatureAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="IAxis used to represent feature using a string."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FeatureIdTreeItemAxis" eSuperTypes="#//nattableaxis/FeatureIdAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureAxis" eSuperTypes="#//nattableaxis/FeatureAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="IAxis used to reference EMF EStructuralFeature."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStructuralFeature">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The represented EStructuralFeature."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EOperationAxis" eSuperTypes="#//nattableaxis/OperationAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="IAxis used to reference EMF EOperation."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EOperation"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EStructuralFeatureTreeItemAxis" eSuperTypes="#//nattableaxis/EStructuralFeatureAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="EOperationTreeItemAxis" eSuperTypes="#//nattableaxis/EOperationAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="ObjectIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/ObjectAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="IAxis used to represent object using a string."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ObjectIdTreeItemAxis" eSuperTypes="#//nattableaxis/ObjectIdAxis #//nattableaxis/ITreeItemAxis"/>
+    <eClassifiers xsi:type="ecore:EClass" name="AxisGroup" eSuperTypes="#//nattableaxis/IAxis">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="groupedAxis" upperBound="-1"
+          eType="#//nattableaxis/IAxis"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OperationIdAxis" eSuperTypes="#//nattableaxis/IdAxis #//nattableaxis/OperationAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="IAxis used to represent operation using a string."/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="OperationIdTreeItemAxis" eSuperTypes="#//nattableaxis/ITreeItemAxis #//nattableaxis/OperationIdAxis">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="ITreeItemAxis used to represent operation using a string."/>
+      </eAnnotations>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattablecell" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecell"
+      nsPrefix="nattablecell">
+    <eClassifiers xsi:type="ecore:EClass" name="Cell" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Cell elements used to store specific information which can't be stored in the edited model"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="columnWrapper" lowerBound="1"
+          eType="#//nattablecell/ICellAxisWrapper" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The column element on which this cell must be displayed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="rowWrapper" lowerBound="1"
+          eType="#//nattablecell/ICellAxisWrapper" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The row element on which this cell must be displayed."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="problems" upperBound="-1"
+          eType="#//nattableproblem/Problem" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="a list of problem founds on this cell"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="ICellAxisWrapper" abstract="true"
+        interface="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This class encapsulates the real axis object."/>
+      </eAnnotations>
+      <eOperations name="getElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="Return the wrapped object"/>
+        </eAnnotations>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectAxisWrapper" eSuperTypes="#//nattablecell/ICellAxisWrapper">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Wrapper for EObject"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The wrapped element"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdAxisWrapper" eSuperTypes="#//nattablecell/ICellAxisWrapper">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Wrapper for Id"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The id used to identifies an element."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattableproblem" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableproblem"
+      nsPrefix="nattableproblem">
+    <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//nattableconfiguration/TableNamedElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="A problem"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="StringResolutionProblem" eSuperTypes="#//nattableproblem/Problem">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This kind of problem is used when the user set a value as a text in a Cell and the system can't convert this string value into the correct type"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueAsString" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The text which is the source of the problem"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="unresolvedString" lowerBound="1"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="the text or a substring of it, which is the source of the problem"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattablestyle" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle"
+      nsPrefix="nattablestyle">
+    <eClassifiers xsi:type="ecore:EClass" name="Style" abstract="true" interface="true"
+        eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Style from which all substyles originate"/>
+      </eAnnotations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="NamedStyle" eSuperTypes="#//nattablestyle/Style">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="used to represent character and paragraph styles"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="CellTextAlignment">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Alignment of the text inside its cell"/>
+      </eAnnotations>
+      <eLiterals name="TOP_LEFT" value="1" literal="TOP_LEFT"/>
+      <eLiterals name="TOP_CENTER" value="2" literal="TOP_CENTER"/>
+      <eLiterals name="TOP_RIGHT" value="3" literal="TOP_RIGHT"/>
+      <eLiterals name="MIDDLE_LEFT" value="4" literal="MIDDLE_LEFT"/>
+      <eLiterals name="MIDDLE_CENTER" value="5" literal="MIDDLE_CENTER"/>
+      <eLiterals name="MIDDLE_RIGHT" value="6" literal="MIDDLE_RIGHT"/>
+      <eLiterals name="BOTTOM_LEFT" value="7" literal="BOTTOM_LEFT"/>
+      <eLiterals name="BOTTOM_CENTER" value="8" literal="BOTTOM_CENTER"/>
+      <eLiterals name="BOTTOM_RIGHT" value="9" literal="BOTTOM_RIGHT"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="FontStyle" eSuperTypes="#//nattablestyle/Style">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Font style of the cell's text"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontColor" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+          defaultValueLiteral="0"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          defaultValueLiteral="Tahoma"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="fontHeight" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+          defaultValueLiteral="9"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="bold" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="false"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="italic" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="false"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="underline" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="false"/>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="strikeThrough" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+          defaultValueLiteral="false"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="CellTextStyle" eSuperTypes="#//nattablestyle/Style">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Text representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="alignment" eType="#//nattablestyle/CellTextAlignment"
+          defaultValueLiteral="MIDDLE_LEFT"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IntValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Int representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IntListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Int lists representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="intListValue" unique="false"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BooleanValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Boolean representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="BooleanListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Boolean lists representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanListValue" unique="false"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DoubleValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Double representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="doubleValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="DoubleListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Double lists representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="doubleListValue" unique="false"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDoubleObject"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="StringValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="String representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="StringListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="String lists representation"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringListValue" unique="false"
+          upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="StyledElement" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
+      <eOperations name="getNamedStyle" eType="#//nattablestyle/NamedStyle">
+        <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+        <eParameters name="name" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
+      </eOperations>
+      <eOperations name="getStyle" eType="#//nattablestyle/Style">
+        <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+      </eOperations>
+      <eOperations name="createStyle" eType="#//nattablestyle/Style">
+        <eParameters name="eClass" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
+      </eOperations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="styles" upperBound="-1"
+          eType="#//nattablestyle/Style" containment="true"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="TableDisplayStyle" eSuperTypes="#//nattablestyle/Style">
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="displayStyle" lowerBound="1"
+          eType="#//nattablestyle/DisplayStyle" defaultValueLiteral="NORMAL"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="DisplayStyle">
+      <eLiterals name="NORMAL" literal="NORMAL"/>
+      <eLiterals name="HIERARCHIC_SINGLE_TREE_COLUMN" value="1" literal="HIERARCHIC_SINGLE_TREE_COLUMN"/>
+      <eLiterals name="HIERARCHIC_MULTI_TREE_COLUMN" value="2" literal="HIERARCHIC_MULTI_TREE_COLUMN"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="eObjectValue" eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectListValueStyle" eSuperTypes="#//nattablestyle/NamedStyle">
+      <eStructuralFeatures xsi:type="ecore:EReference" name="eObjectValue" upperBound="-1"
+          eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattablecelleditor" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablecelleditor"
+      nsPrefix="nattablecelleditor">
+    <eClassifiers xsi:type="ecore:EClass" name="ICellEditorConfiguration" abstract="true"
+        interface="true" eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common interface for all cell editor configuration."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="cellEditorId" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+          iD="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The id of the celleditor."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="GenericRelationshipMatrixCellEditorConfiguration"
+        eSuperTypes="#//nattablecelleditor/IMatrixCellEditorConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Concret implementation of IMatrixRelationshipCellEditorConfiguration"/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//nattablecelleditor/MatrixRelationShipDirection"
+          defaultValueLiteral="FROM_ROW_TO_COLUMN"/>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="cellContentsFilter" eType="ecore:EClass ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.ecore#//booleanexpressions/IBooleanEObjectExpression"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field allows to the user to filter the contents of the cells."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="editedElement" eType="ecore:EClass ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.ecore#//ElementTypeConfiguration">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field allows to define the kind of element to edit in the cell."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="relationshipOwnerStrategy"
+          lowerBound="1" eType="#//nattablecelleditor/MatrixRelationShipOwnerStrategy"
+          defaultValueLiteral="DEFAULT">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field is used to define the owner of relationships created editing the matrix."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="relationshipOwner" eType="#//nattablewrapper/IWrapper"
+          containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field is used only when the relationshipOwnerStrategy is set to Other."/>
+        </eAnnotations>
+      </eStructuralFeatures>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="relationshipOwnerFeature"
+          eType="#//nattableaxis/IAxis" containment="true">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This field is used only when the relationshipOwnerStrategy is set to Other.&#xD;&#xA;It will be used, if required, to define the feature in the relationshipOwner which will owns the created relationship"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="MatrixRelationShipDirection">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This Enumeration is used to define the direction of the relationship to display in the cell. &#xD;&#xA;In case of directed relationship and NONE selected, the cell won't be editable.&#xD;&#xA;In case of non directed relationship and a direction selected, we will use get(0) and get(1) to define a fake orientation."/>
+      </eAnnotations>
+      <eLiterals name="NONE" literal="NONE"/>
+      <eLiterals name="FROM_ROW_TO_COLUMN" value="1" literal="FROM_ROW_TO_COLUMN"/>
+      <eLiterals name="FROM_COLUMN_TO_ROW" value="2" literal="FROM_COLUMN_TO_ROW"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EEnum" name="MatrixRelationShipOwnerStrategy">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This Enumeration is used to define the owner of relationships created editing the matrix."/>
+      </eAnnotations>
+      <eLiterals name="DEFAULT" literal="DEFAULT"/>
+      <eLiterals name="TABLE_CONTEXT" value="1" literal="TABLE_CONTEXT"/>
+      <eLiterals name="ROW_OWNER" value="2" literal="ROW_OWNER"/>
+      <eLiterals name="ROW_AS_OWNER" value="3" literal="ROW_AS_OWNER"/>
+      <eLiterals name="COLUMN_OWNER" value="4" literal="COLUMN_OWNER"/>
+      <eLiterals name="COLUMN_AS_OWNER" value="5" literal="COLUMN_AS_OWNER"/>
+      <eLiterals name="OTHER" value="6" literal="OTHER"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IMatrixCellEditorConfiguration" abstract="true"
+        interface="true" eSuperTypes="#//nattablecelleditor/ICellEditorConfiguration">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common interface for all Matrix cell editor."/>
+      </eAnnotations>
+    </eClassifiers>
+  </eSubpackages>
+  <eSubpackages name="nattablewrapper" nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattablewrapper"
+      nsPrefix="nattablewrapper">
+    <eClassifiers xsi:type="ecore:EClass" name="IWrapper" abstract="true" interface="true"
+        eSuperTypes="#//nattablestyle/StyledElement">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="Common interface for all wrapped. The wrapper is used to be able to reference an&#xD;&#xA;object which is not necessary an EObject. In this case, it could be referenced by as string."/>
+      </eAnnotations>
+      <eOperations name="getElement" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="This method returns the wrapped element, but without solving it."/>
+        </eAnnotations>
+      </eOperations>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="EObjectWrapper" eSuperTypes="#//nattablewrapper/IWrapper">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This class allows to wrap EObject."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EReference" name="element" lowerBound="1"
+          eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
+    </eClassifiers>
+    <eClassifiers xsi:type="ecore:EClass" name="IdWrapper" eSuperTypes="#//nattablewrapper/IWrapper">
+      <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+        <details key="documentation" value="This class allows to reference an object identified by a string."/>
+      </eAnnotations>
+      <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" lowerBound="1"
+          eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
+        <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+          <details key="documentation" value="The wrapped element is referenced by a String"/>
+        </eAnnotations>
+      </eStructuralFeatures>
+    </eClassifiers>
+  </eSubpackages>
+</ecore:EPackage>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag
new file mode 100644
index 0000000..24a6bd5
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.ecorediag
@@ -0,0 +1,1001 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmi:id="_UypeIJewEeKr0Yypv4rfLA" type="EcoreTools" name="nattable.ecorediag" measurementUnit="Pixel">
+  <children xmi:type="notation:Node" xmi:id="_EfChwKHtEeKNUa7kbzEWsw" type="1005">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA4KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA4aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMSwKHtEeKNUa7kbzEWsw" type="4010"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMSwaHtEeKNUa7kbzEWsw" type="5008">
+      <children xmi:type="notation:Node" xmi:id="_hJG1UqH0EeKNUa7kbzEWsw" type="2006">
+        <element xmi:type="ecore:EEnumLiteral" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/ALPHABETIC"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hJG1U6H0EeKNUa7kbzEWsw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_hJG1UKH0EeKNUa7kbzEWsw" type="2006">
+        <element xmi:type="ecore:EEnumLiteral" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/NUMERIC"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hJG1UaH0EeKNUa7kbzEWsw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSwqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSw6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMSxKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfChwaHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EEnum" href="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfChwqHtEeKNUa7kbzEWsw" x="10" y="910"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMSxaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA4qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA46HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMSyKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMSyaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSyqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSy6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMSzKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfMSzaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMSzqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMSz6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS0KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMSxqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EStructuralFeatureAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMSx6HtEeKNUa7kbzEWsw" x="1010" y="1430" width="183"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMS3aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA5qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA56HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMS4KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMS4aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS4qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS46HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS5KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfMS5aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS5qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS56HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS6KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMS3qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMS36HtEeKNUa7kbzEWsw" x="1400" y="1255"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMS6aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA6KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA6aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMS7KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMS7aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS7qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS76HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS8KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfMS8aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMS8qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMS86HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMS9KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMS6qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMS66HtEeKNUa7kbzEWsw" x="2085" y="590" width="298" height="143"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMTDaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA7qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA76HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMTEKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMTEaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTEqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTE6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTFKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfMTFaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTFqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTF6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTGKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTDqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTD6HtEeKNUa7kbzEWsw" x="1890" y="160"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMTGaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA8KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA8aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfMTHKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfMTHaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTHqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTH6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTIKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfMTIaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfMTIqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfMTI6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfMTJKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTGqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTG6HtEeKNUa7kbzEWsw" x="295" y="1255"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfMTJaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA8qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA86HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVcsKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVcsaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVcsqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVcs6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVctKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVctaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVctqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVct6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVcuKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfMTJqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfMTJ6HtEeKNUa7kbzEWsw" x="415" y="925"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVcuaHtEeKNUa7kbzEWsw" type="1005">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA9KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA9aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVcvKHtEeKNUa7kbzEWsw" type="4010"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVcvaHtEeKNUa7kbzEWsw" type="5008">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVcvqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVcv6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVcwKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVcuqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EEnum" href="nattable.ecore#//nattableconfiguration/CellEditorDeclaration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVcu6HtEeKNUa7kbzEWsw" x="15" y="750"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVczaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA-KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA-aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVc0KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVc0aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc0qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc06HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc1KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVc1aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc1qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc16HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc2KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVczqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVcz6HtEeKNUa7kbzEWsw" x="1315" y="395"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVc2aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA-qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA-6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVc3KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVc3aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc3qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc36HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc4KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVc4aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc4qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc46HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc5KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc2qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/EObjectAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc26HtEeKNUa7kbzEWsw" x="1595" y="1595"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVc5aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA_KHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA_aHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVc6KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVc6aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc6qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc66HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc7KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVc7aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc7qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc76HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc8KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc5qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattabletester/JavaTableTester"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc56HtEeKNUa7kbzEWsw" x="2400" y="465"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVc8aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGA_qHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGA_6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVc9KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVc9aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc9qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc96HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc-KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVc-aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVc-qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVc-6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVc_KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc8qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc86HtEeKNUa7kbzEWsw" x="850" y="400" width="228" height="88"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVc_aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBAKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBAaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVdAKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVdAaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdAqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdA6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdBKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVdBaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdBqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdB6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdCKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVc_qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVc_6HtEeKNUa7kbzEWsw" x="1605" y="1435"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVdCaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBAqHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBA6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EfVdDKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EfVdDaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdDqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdD6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdEKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EfVdEaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EfVdEqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EfVdE6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EfVdFKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVdCqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVdC6HtEeKNUa7kbzEWsw" x="1425" y="610"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EfVdLaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBCKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBCaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffNsKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffNsaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNsqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffNs6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNtKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffNtaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNtqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffNt6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNuKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EfVdLqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/IAxisConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfVdL6HtEeKNUa7kbzEWsw" x="80" y="355" height="93"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffNxaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBDKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBDaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffNyKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffNyaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNyqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffNy6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffNzKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffNzaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffNzqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffNz6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN0KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffNxqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureIdAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffNx6HtEeKNUa7kbzEWsw" x="1255" y="1595"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffN3aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBEKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBEaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffN4KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffN4aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN4qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN46HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN5KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffN5aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN5qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN56HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN6KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN3qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/ObjectIdAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN36HtEeKNUa7kbzEWsw" x="1425" y="1595"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffN6aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBEqHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBE6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffN7KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffN7aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN7qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN76HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN8KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffN8aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN8qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN86HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN9KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN6qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/FeatureAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN66HtEeKNUa7kbzEWsw" x="1245" y="1435"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffN9aHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBFKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBFaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffN-KHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffN-aHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN-qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN-6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffN_KHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffN_aHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffN_qHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffN_6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOAKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffN9qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxis/IdAxis"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffN96HtEeKNUa7kbzEWsw" x="1415" y="1435"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffOAaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBFqHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBF6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffOBKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffOBaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOBqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOB6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOCKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffOCaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOCqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOC6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffODKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOAqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOA6HtEeKNUa7kbzEWsw" x="55" y="560"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffODaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBGKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBGaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffOEKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffOEaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOEqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOE6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOFKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffOFaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOFqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOF6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOGKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffODqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattabletester/AbstractTableTester"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOD6HtEeKNUa7kbzEWsw" x="2415" y="300" width="208"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffOJaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBHKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBHaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffOKKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffOKaHtEeKNUa7kbzEWsw" type="5001">
+      <children xmi:type="notation:Node" xmi:id="_hJZwTqH0EeKNUa7kbzEWsw" type="2001">
+        <element xmi:type="ecore:EAttribute" href="nattable.ecore#//nattableconfiguration/TableNamedElement/description"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hJZwT6H0EeKNUa7kbzEWsw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_hJZwTKH0EeKNUa7kbzEWsw" type="2001">
+        <element xmi:type="ecore:EAttribute" href="nattable.ecore#//nattableconfiguration/TableNamedElement/name"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_hJZwTaH0EeKNUa7kbzEWsw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOKqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOK6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOLKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffOLaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOLqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOL6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOMKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOJqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableconfiguration/TableNamedElement"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOJ6HtEeKNUa7kbzEWsw" x="2550" y="140"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffOMaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBHqHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBH6HtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffONKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffONaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffONqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffON6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOOKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffOOaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOOqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOO6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOPKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOMqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/AxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOM6HtEeKNUa7kbzEWsw" x="1455" y="765"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_EffOPaHtEeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_EkGBIKHtEeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_EkGBIaHtEeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_EffOQKHtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_EffOQaHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffOQqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOQ6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffORKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EffORaHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_EffORqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_EffOR6HtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_EffOSKHtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_EffOPqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableconfiguration/TableConfiguration"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EffOP6HtEeKNUa7kbzEWsw" x="2585" y="565" height="187"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_Ek_YwKHtEeKNUa7kbzEWsw" type="1001">
+    <children xmi:type="notation:Node" xmi:id="_Ek_Yw6HtEeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_Ek_YxKHtEeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_Ek_YxaHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Ek_YxqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Ek_Yx6HtEeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Ek_YyKHtEeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_Ek_YyaHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_Ek_YyqHtEeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_Ek_Yy6HtEeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_Ek_YwaHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//Table"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ek_YwqHtEeKNUa7kbzEWsw" x="2535" y="1080" height="146"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_rlVcQKH3EeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rlyIMKH3EeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rlyIMaH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_rlVcQ6H3EeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_rlVcRKH3EeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_rlVcRaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_rlVcRqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_rlVcR6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_rlVcSKH3EeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_rlVcSaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_rlVcSqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_rlVcS6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_rlVcQaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rlVcQqH3EeKNUa7kbzEWsw" x="785" y="1080"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_xjigEKH3EeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB4KH3EeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB4aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_xjigE6H3EeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_xjigFKH3EeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigFaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjigFqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigF6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_xjigGKH3EeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigGaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjigGqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigG6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_xjigEaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/MasterObjectAxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjigEqH3EeKNUa7kbzEWsw" x="1510" y="1170"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_xjigHKH3EeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB4qH3EeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB46H3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_xjigH6H3EeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_xjigIKH3EeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigIaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjigIqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigI6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_xjigJKH3EeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjigJaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjigJqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjigJ6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_xjigHaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/SlaveObjectAxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjigHqH3EeKNUa7kbzEWsw" x="1730" y="1170"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_xjrqDKH3EeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB6KH3EeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB6aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_xjrqD6H3EeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_xjrqEKH3EeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqEaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqEqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqE6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_xjrqFKH3EeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqFaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqFqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqF6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_xjrqDaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/IMasterAxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjrqDqH3EeKNUa7kbzEWsw" x="1505" y="965"/>
+  </children>
+  <children xmi:type="notation:Node" xmi:id="_xjrqJKH3EeKNUa7kbzEWsw" type="1001">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xklB7KH3EeKNUa7kbzEWsw" source="Shortcut">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xklB7aH3EeKNUa7kbzEWsw" key="modelID" value="EcoreTools"/>
+    </eAnnotations>
+    <children xmi:type="notation:Node" xmi:id="_xjrqJ6H3EeKNUa7kbzEWsw" type="4001"/>
+    <children xmi:type="notation:Node" xmi:id="_xjrqKKH3EeKNUa7kbzEWsw" type="5001">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqKaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqKqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqK6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_xjrqLKH3EeKNUa7kbzEWsw" type="5002">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_xjrqLaH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_xjrqLqH3EeKNUa7kbzEWsw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_xjrqL6H3EeKNUa7kbzEWsw"/>
+    </children>
+    <styles xmi:type="notation:ShapeStyle" xmi:id="_xjrqJaH3EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+    <element xmi:type="ecore:EClass" href="nattable.ecore#//nattableaxisprovider/ISlaveAxisProvider"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xjrqJqH3EeKNUa7kbzEWsw" x="1735" y="965"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_UypeIZewEeKr0Yypv4rfLA"/>
+  <element xmi:type="ecore:EPackage" href="nattable.ecore#/"/>
+  <edges xmi:type="notation:Edge" xmi:id="_EghvgKHtEeKNUa7kbzEWsw" type="3003" source="_EfMSxaHtEeKNUa7kbzEWsw" target="_EffN6aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EghvgaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EghvgqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eghvg6HtEeKNUa7kbzEWsw" points="[4, 9, -119, -33]$[92, 9, -31, -33]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8EqHtEeKNUa7kbzEWsw" id="(0.9731543624161074,0.36666666666666664)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8E6HtEeKNUa7kbzEWsw" id="(0.2882882882882883,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrghKHtEeKNUa7kbzEWsw" type="3002" source="_EffOMaHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EgrgiKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgiaHtEeKNUa7kbzEWsw" x="8" y="53"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EgrgiqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgi6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrghaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrghqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisprovider/AxisProvider/axis"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgh6HtEeKNUa7kbzEWsw" points="[4, 58, -32, -432]$[36, 490, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGDaHtEeKNUa7kbzEWsw" id="(0.18633540372670807,0.9666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGDqHtEeKNUa7kbzEWsw" id="(0.22849462365591397,0.08602150537634409)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgjKHtEeKNUa7kbzEWsw" type="3003" source="_EffN9aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgjaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgjqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgj6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCaHtEeKNUa7kbzEWsw" id="(0.49612403100775193,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCqHtEeKNUa7kbzEWsw" id="(0.21739130434782608,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgkKHtEeKNUa7kbzEWsw" type="3003" source="_EffN6aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgkaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgkqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgk6HtEeKNUa7kbzEWsw" points="[0, 0, -112, 94]$[0, -30, -112, 64]$[112, -30, 0, 64]$[112, -94, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BKHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BaHtEeKNUa7kbzEWsw" id="(0.10869565217391304,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrglKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc_aHtEeKNUa7kbzEWsw" target="_EfMS3aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrglaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrglqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgl6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FKHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FaHtEeKNUa7kbzEWsw" id="(0.7065217391304348,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgmKHtEeKNUa7kbzEWsw" type="3003" source="_EfMS6aHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgmaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgmqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgm6HtEeKNUa7kbzEWsw" points="[1, 0, -282, 442]$[1, -483, -282, -41]$[243, -483, -40, -41]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8CqHtEeKNUa7kbzEWsw" id="(0.7515527950310559,0.014705882352941176)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8C6HtEeKNUa7kbzEWsw" id="(0.2469879518072289,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgnKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EgrgoKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgoaHtEeKNUa7kbzEWsw" x="-93" y="24"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EgrgoqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgo6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgnaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgnqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/columnAxisProviders"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgn6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 111]$[0, -111, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IKHtEeKNUa7kbzEWsw" id="(0.021052631578947368,0.29411764705882354)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IaHtEeKNUa7kbzEWsw" id="(0.9295302013422819,0.14685314685314685)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgpKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EgrgqKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgqaHtEeKNUa7kbzEWsw" x="-93" y="15"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EgrgqqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgq6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgpaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgpqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/rowAxisProviders"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgp6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 111]$[0, -111, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8FqHtEeKNUa7kbzEWsw" id="(0.017543859649122806,0.42780748663101603)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8F6HtEeKNUa7kbzEWsw" id="(0.9362416107382551,0.3776223776223776)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgrKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EgrgsKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrgsaHtEeKNUa7kbzEWsw" x="-56" y="-20"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EgrgsqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgs6HtEeKNUa7kbzEWsw" x="23" y="-20"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgraHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgrqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/defaultRowAxisProvider"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgr6HtEeKNUa7kbzEWsw" points="[-3, -19, 71, 510]$[-73, -523, 1, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8GqHtEeKNUa7kbzEWsw" id="(0.04912280701754386,0.7549019607843137)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8G6HtEeKNUa7kbzEWsw" id="(0.9832214765100671,0.7972027972027972)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EgrgtKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EgrguKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EgrguaHtEeKNUa7kbzEWsw" x="-81" y="12"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EgrguqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Egrgu6HtEeKNUa7kbzEWsw" x="7" y="12"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EgrgtaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EgrgtqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/defaultColumnAxisProvider"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Egrgt6HtEeKNUa7kbzEWsw" points="[0, -3, 27, 510]$[-27, -507, 0, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8HKHtEeKNUa7kbzEWsw" id="(0.0,0.6203208556149733)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8HaHtEeKNUa7kbzEWsw" id="(0.9563758389261745,0.6363636363636364)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Eg0qcKHtEeKNUa7kbzEWsw" type="3003" source="_EffOMaHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg0qcaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Eg0qcqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg0qc6HtEeKNUa7kbzEWsw" points="[0, 0, 31, 155]$[0, -69, 31, 86]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGD6HtEeKNUa7kbzEWsw" id="(0.6645962732919255,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEKHtEeKNUa7kbzEWsw" id="(0.10067114093959731,0.3916083916083916)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Eg0qjKHtEeKNUa7kbzEWsw" type="3003" source="_EfMTDaHtEeKNUa7kbzEWsw" target="_EfVdCaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg0qjaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Eg0qjqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg0qj6HtEeKNUa7kbzEWsw" points="[13, 8, 198, -412]$[13, 130, 198, -290]$[-161, 130, 24, -290]$[-161, 405, 24, -15]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGA6HtEeKNUa7kbzEWsw" id="(0.36180904522613067,0.8666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGBKHtEeKNUa7kbzEWsw" id="(0.7115384615384616,0.13445378151260504)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Eg-bfKHtEeKNUa7kbzEWsw" type="3003" source="_EfMTGaHtEeKNUa7kbzEWsw" target="_EfMTJaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bfaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bfqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bf6HtEeKNUa7kbzEWsw" points="[-53, 0, -81, 264]$[-53, -288, -81, -24]$[9, -288, -19, -24]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF96HtEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF-KHtEeKNUa7kbzEWsw" id="(0.091324200913242,0.8)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Eg-bgKHtEeKNUa7kbzEWsw" type="3002" source="_EffN6aHtEeKNUa7kbzEWsw" target="_EfMTGaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_Eg-bhKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bhaHtEeKNUa7kbzEWsw" x="-12" y="-83"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Eg-bhqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bh6HtEeKNUa7kbzEWsw" x="-32" y="-37"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bgaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bgqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/FeatureAxis/localLabelConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bg6HtEeKNUa7kbzEWsw" points="[-9, 58, 813, 121]$[-9, 95, 813, 158]$[-822, 95, 0, 158]$[-822, -63, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8BqHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8B6HtEeKNUa7kbzEWsw" id="(0.8214285714285714,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Eg-bjKHtEeKNUa7kbzEWsw" type="3002" source="_EfVc_aHtEeKNUa7kbzEWsw" target="_EfMTJaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_Eg-bkKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bkaHtEeKNUa7kbzEWsw" x="84" y="84"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Eg-bkqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Eg-bk6HtEeKNUa7kbzEWsw" x="44" y="15"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Eg-bjaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Eg-bjqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxis/ObjectAxis/localLabelConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eg-bj6HtEeKNUa7kbzEWsw" points="[0, 0, 1127, 427]$[0, -45, 1127, 382]$[-1136, -45, -9, 382]$[-1136, -427, -9, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGGaHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGGqHtEeKNUa7kbzEWsw" id="(0.6666666666666666,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhHlYKHtEeKNUa7kbzEWsw" type="3002" source="_EfVczaHtEeKNUa7kbzEWsw" target="_EfVc8aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EhHlZKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EhHlZaHtEeKNUa7kbzEWsw" x="-42" y="-89"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EhHlZqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EhHlZ6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlYaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhHlYqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration/axisManagerConfigurations"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlY6HtEeKNUa7kbzEWsw" points="[-12, 1, 286, -14]$[-261, 13, 37, -2]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8AKHtEeKNUa7kbzEWsw" id="(0.056768558951965066,0.8)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8AaHtEeKNUa7kbzEWsw" id="(0.8947368421052632,0.5568181818181818)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhHlaKHtEeKNUa7kbzEWsw" type="3003" source="_EfVczaHtEeKNUa7kbzEWsw" target="_EfVdCaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlaaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhHlaqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHla6HtEeKNUa7kbzEWsw" points="[0, 0, -255, 239]$[0, -209, -255, 30]$[255, -209, 0, 30]$[255, -239, 0, 0]"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGHKHtEeKNUa7kbzEWsw" id="(0.3317307692307692,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhHlbKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc2aHtEeKNUa7kbzEWsw" target="_EfVc_aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlbaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhHlbqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlb6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 102]$[0, -102, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF9aHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzF9qHtEeKNUa7kbzEWsw" id="(0.4144144144144144,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhHlcKHtEeKNUa7kbzEWsw" type="3003" source="_EfVc5aHtEeKNUa7kbzEWsw" target="_EffODaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhHlcaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhHlcqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhHlc6HtEeKNUa7kbzEWsw" points="[0, 0, 254, 111]$[0, -30, 254, 81]$[-254, -30, 0, 81]$[-254, -111, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGAaHtEeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGAqHtEeKNUa7kbzEWsw" id="(0.25,0.9264705882352942)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhRWeKHtEeKNUa7kbzEWsw" type="3003" source="_EffN3aHtEeKNUa7kbzEWsw" target="_EfVc_aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhRWeaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhRWeqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhRWe6HtEeKNUa7kbzEWsw" points="[0, 0, -120, 102]$[0, -30, -120, 72]$[120, -30, 0, 72]$[120, -102, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGE6HtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGFKHtEeKNUa7kbzEWsw" id="(0.2072072072072072,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhbHdKHtEeKNUa7kbzEWsw" type="3003" source="_EffOAaHtEeKNUa7kbzEWsw" target="_EfVdLaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhbHdaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhbHdqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhbHd6HtEeKNUa7kbzEWsw" points="[-3, 0, 19, 114]$[-3, -114, 19, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGB6HtEeKNUa7kbzEWsw" id="(0.2931726907630522,0.014705882352941176)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGCKHtEeKNUa7kbzEWsw" id="(0.25,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhkRUKHtEeKNUa7kbzEWsw" type="3003" source="_EffNxaHtEeKNUa7kbzEWsw" target="_EffN9aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRUaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhkRUqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRU6HtEeKNUa7kbzEWsw" points="[0, 0, -111, 94]$[0, -30, -111, 64]$[111, -30, 0, 64]$[111, -94, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DKHtEeKNUa7kbzEWsw" id="(0.7477477477477478,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DaHtEeKNUa7kbzEWsw" id="(0.24806201550387597,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhkRVKHtEeKNUa7kbzEWsw" type="3003" source="_EffNxaHtEeKNUa7kbzEWsw" target="_EffN6aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRVaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhkRVqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRV6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 102]$[0, -102, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8DqHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8D6HtEeKNUa7kbzEWsw" id="(0.5765765765765766,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhkRWKHtEeKNUa7kbzEWsw" type="3003" source="_EffN3aHtEeKNUa7kbzEWsw" target="_EffN9aHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhkRWaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhkRWqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhkRW6HtEeKNUa7kbzEWsw" points="[0, 0, 0, 94]$[0, -94, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEaHtEeKNUa7kbzEWsw" id="(0.4954954954954955,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGEqHtEeKNUa7kbzEWsw" id="(0.49612403100775193,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhuCUKHtEeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EffODaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_EhuCVKHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EhuCVaHtEeKNUa7kbzEWsw" x="-10" y="-10"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_EhuCVqHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EhuCV6HtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhuCUaHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhuCUqHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/creationTester"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhuCU6HtEeKNUa7kbzEWsw" points="[0, 0, 89, 284]$[-89, -284, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8IqHtEeKNUa7kbzEWsw" id="(0.05964912280701754,0.0427807486631016)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ejp8I6HtEeKNUa7kbzEWsw" id="(0.8920454545454546,0.9705882352941176)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_EhuCWKHtEeKNUa7kbzEWsw" type="3003" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_EhuCWaHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EhuCWqHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EhuCW6HtEeKNUa7kbzEWsw" points="[-169, 0, 1, 431]$[-169, -427, 1, 4]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGIaHtEeKNUa7kbzEWsw" id="(0.9403508771929825,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EjzGIqHtEeKNUa7kbzEWsw" id="(0.8012048192771084,0.9529411764705882)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Ek_YzqHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EffOPaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y0qHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y06HtEeKNUa7kbzEWsw" x="-10" y="-10"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y1KHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y1aHtEeKNUa7kbzEWsw" x="10" y="10"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Yz6HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y0KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/tableConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y0aHtEeKNUa7kbzEWsw" points="[9, -10, 0, 336]$[9, -340, 0, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ir5h8KHtEeKNUa7kbzEWsw" id="(0.8552631578947368,0.07534246575342465)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kbepMKHtEeKNUa7kbzEWsw" id="(0.3087719298245614,0.9411764705882353)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Ek_Y1qHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y2qHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y26HtEeKNUa7kbzEWsw" x="-335" y="102"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y3KHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y3aHtEeKNUa7kbzEWsw" x="-325" y="20"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Y16HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y2KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/columnAxisProvidersHistory"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y2aHtEeKNUa7kbzEWsw" points="[-146, 0, 271, 460]$[-411, 0, 6, 460]$[-411, -453, 6, 7]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7tvZUKHuEeKNUa7kbzEWsw" id="(0.9736842105263158,0.726027397260274)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6fePYKHuEeKNUa7kbzEWsw" id="(0.6073825503355704,0.8970588235294118)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_Ek_Y3qHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y4qHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y46HtEeKNUa7kbzEWsw" x="-356" y="129"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_Ek_Y5KHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ek_Y5aHtEeKNUa7kbzEWsw" x="-356" y="37"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_Ek_Y36HtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Ek_Y4KHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/rowAxisProvidersHistory"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Ek_Y4aHtEeKNUa7kbzEWsw" points="[-145, 0, 308, 485]$[-445, 0, 8, 485]$[-445, -480, 8, 5]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDnkKHuEeKNUa7kbzEWsw" id="(0.9671052631578947,0.910958904109589)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__1i8MKHuEeKNUa7kbzEWsw" id="(0.4798657718120805,0.9264705882352942)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_ElJJ0KHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_ElJJ1KHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ1aHtEeKNUa7kbzEWsw" x="-309" y="104"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_ElJJ1qHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ16HtEeKNUa7kbzEWsw" x="-308" y="19"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ0aHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ0qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/currentRowAxisProvider"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ06HtEeKNUa7kbzEWsw" points="[-137, 0, 235, 423]$[-372, 0, 0, 423]$[-372, -420, 0, 3]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3ETwEKHuEeKNUa7kbzEWsw" id="(0.9144736842105263,0.4931506849315068)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AyW7AKH1EeKNUa7kbzEWsw" id="(0.7281879194630873,0.9558823529411765)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_ElJJ2KHtEeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfMS6aHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_ElJJ3KHtEeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ3aHtEeKNUa7kbzEWsw" x="-235" y="120"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_ElJJ3qHtEeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ElJJ36HtEeKNUa7kbzEWsw" x="-230" y="31"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ2aHtEeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ2qHtEeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/currentColumnAxisProvider"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ26HtEeKNUa7kbzEWsw" points="[-90, 0, 197, 386]$[-287, 0, 0, 386]$[-287, -384, 0, 2]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0FtQ8KHuEeKNUa7kbzEWsw" id="(0.6052631578947368,0.2465753424657534)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vXzXYKHuEeKNUa7kbzEWsw" id="(0.8557046979865772,0.9705882352941176)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_ElJJ4KHtEeKNUa7kbzEWsw" type="3003" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EffOJaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_ElJJ4aHtEeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ElJJ4qHtEeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElJJ46HtEeKNUa7kbzEWsw" points="[5, 40, -4, 1013]$[315, 40, 306, 1013]$[315, -931, 306, 42]$[34, -931, 25, 42]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zdYFoKHuEeKNUa7kbzEWsw" id="(0.9671052631578947,0.2328767123287671)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a_dasKHtEeKNUa7kbzEWsw" id="(0.8493975903614458,0.011764705882352941)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_FIJaHKH2EeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMTDaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_FIJaIKH2EeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaIaH2EeKNUa7kbzEWsw" x="-118" y="-19"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_FIJaIqH2EeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaI6H2EeKNUa7kbzEWsw" x="-3" y="-24"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_FIJaHaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_FIJaHqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/rowHeaderAxisConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FIJaH6H2EeKNUa7kbzEWsw" points="[0, -7, 691, 404]$[0, -493, 691, -82]$[-682, -493, 9, -82]$[-682, -412, 9, -1]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JJrV0KH2EeKNUa7kbzEWsw" id="(0.5578947368421052,0.0427807486631016)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a5to8KH2EeKNUa7kbzEWsw" id="(0.8190954773869347,0.03333333333333333)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_FIJaJKH2EeKNUa7kbzEWsw" type="3002" source="_EffOPaHtEeKNUa7kbzEWsw" target="_EfMTDaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_FIJaKKH2EeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_FIJaKaH2EeKNUa7kbzEWsw" x="-31" y="28"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_FITLEKH2EeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_FITLEaH2EeKNUa7kbzEWsw" x="79" y="13"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_FIJaJaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_FIJaJqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//nattableconfiguration/TableConfiguration/columnHeaderAxisConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FIJaJ6H2EeKNUa7kbzEWsw" points="[-7, -8, 798, 384]$[-7, -518, 798, -126]$[-805, -518, 0, -126]$[-805, -413, 0, -21]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PMCg4KH2EeKNUa7kbzEWsw" id="(0.9438596491228071,0.0481283422459893)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_OSd0kKH2EeKNUa7kbzEWsw" id="(0.7989949748743719,0.36666666666666664)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_hoQknKH2EeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfVczaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_hoQkoKH2EeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkoaH2EeKNUa7kbzEWsw" x="-955" y="189"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_hoQkoqH2EeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQko6H2EeKNUa7kbzEWsw" x="-949" y="65"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_hoQknaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_hoQknqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/localRowHeaderAxisConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hoQkn6H2EeKNUa7kbzEWsw" points="[7, 5, 915, 798]$[7, 211, 915, 1004]$[-598, 211, 310, 1004]$[-608, -793, 300, 0]$[-906, -793, 2, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NyG_cKJ4EeKNUa7kbzEWsw" id="(0.7894736842105263,0.9657534246575342)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Uz2j4KJ4EeKNUa7kbzEWsw" id="(0.9912663755458515,0.45)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_hoQkpKH2EeKNUa7kbzEWsw" type="3002" source="_Ek_YwKHtEeKNUa7kbzEWsw" target="_EfVczaHtEeKNUa7kbzEWsw">
+    <children xmi:type="notation:Node" xmi:id="_hoQkqKH2EeKNUa7kbzEWsw" type="4011">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkqaH2EeKNUa7kbzEWsw" x="-394" y="-888"/>
+    </children>
+    <children xmi:type="notation:Node" xmi:id="_hoQkqqH2EeKNUa7kbzEWsw" type="4012">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hoQkq6H2EeKNUa7kbzEWsw" x="-246" y="-893"/>
+    </children>
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_hoQkpaH2EeKNUa7kbzEWsw" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_hoQkpqH2EeKNUa7kbzEWsw" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
+    <element xmi:type="ecore:EReference" href="nattable.ecore#//Table/localColumnHeaderAxisConfiguration"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hoQkp6H2EeKNUa7kbzEWsw" points="[1, 6, 843, 815]$[1, 131, 843, 940]$[-480, 131, 362, 940]$[-480, -803, 362, 6]$[-838, -803, 4, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NTAooKJ4EeKNUa7kbzEWsw" id="(0.3355263157894737,0.958904109589041)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m2_6UKH2EeKNUa7kbzEWsw" id="(0.982532751091703,0.16666666666666666)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_xj1bAqH3EeKNUa7kbzEWsw" type="3003" source="_xjigEKH3EeKNUa7kbzEWsw" target="_xjrqDKH3EeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj1bA6H3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xj1bBKH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj1bBaH3EeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4KH3EeKNUa7kbzEWsw" id="(0.5,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4aH3EeKNUa7kbzEWsw" id="(0.4968944099378882,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_xj_MAKH3EeKNUa7kbzEWsw" type="3003" source="_xjigHKH3EeKNUa7kbzEWsw" target="_xjrqJKH3EeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj_MAaH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xj_MAqH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj_MA6H3EeKNUa7kbzEWsw" points="[0, 0, 0, 60]$[0, -60, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ4qH3EeKNUa7kbzEWsw" id="(0.4968944099378882,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xkbQ46H3EeKNUa7kbzEWsw" id="(0.4968944099378882,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_xj_MGKH3EeKNUa7kbzEWsw" type="3003" source="_xjrqDKH3EeKNUa7kbzEWsw" target="_EffOMaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_xj_MGaH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xj_MGqH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xj_MG6H3EeKNUa7kbzEWsw" points="[1, 0, -1734, -700]$[1663, 671, -72, -29]"/>
+  </edges>
+  <edges xmi:type="notation:Edge" xmi:id="_xkIV-KH3EeKNUa7kbzEWsw" type="3003" source="_xjrqJKH3EeKNUa7kbzEWsw" target="_EffOMaHtEeKNUa7kbzEWsw">
+    <styles xmi:type="notation:ConnectorStyle" xmi:id="_xkIV-aH3EeKNUa7kbzEWsw" routing="Rectilinear" lineColor="4210752"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xkIV-qH3EeKNUa7kbzEWsw" fontName="Segoe UI"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xkIV-6H3EeKNUa7kbzEWsw" points="[1, 0, -1734, -700]$[1663, 671, -72, -29]"/>
+  </edges>
+</notation:Diagram>
diff --git a/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel
new file mode 100644
index 0000000..5c8ebe9
--- /dev/null
+++ b/cdo/bundles/org.eclipse.papyrus.infra.nattable.model.cdo/model/nattable.genmodel
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="Copyright (c) 2013 CEA LIST.&#xA;&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License 2.0&#xA; which accompanies this distribution, and is available at&#xA; https://www.eclipse.org/legal/epl-2.0/&#xA;&#xA; SPDX-License-Identifier: EPL-2.0&#xA;&#xA; Contributors:&#xA; Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation"
+    modelDirectory="/org.eclipse.papyrus.infra.nattable.model/src-gen" creationIcons="false"
+    editDirectory="/org.eclipse.papyrus.infra.nattable.model.edit/src-gen" editorDirectory="/org.eclipse.papyrus.infra.nattable.model.editor/src-gen"
+    modelPluginID="org.eclipse.papyrus.infra.nattable.model" modelName="Nattable"
+    nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+    testsDirectory="" importerID="org.eclipse.emf.importer.ecore" featureDelegation="Dynamic"
+    complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.types/model/ElementTypesConfigurations.genmodel#//types ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions"
+    operationReflection="true" importOrganizing="true" cleanup="true">
+  <foreignModel>nattable.ecore</foreignModel>
+  <genPackages prefix="Nattable" basePackage="org.eclipse.papyrus.infra.nattable.model"
+      disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+      ecorePackage="nattable.ecore#/">
+    <genClasses ecoreClass="nattable.ecore#//Table">
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/context"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/owner"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/prototype"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/tableConfiguration"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//Table/invertAxis"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/columnAxisProvidersHistory"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/rowAxisProvidersHistory"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/localRowHeaderAxisConfiguration"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/localColumnHeaderAxisConfiguration"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/currentRowAxisProvider"/>
+      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/currentColumnAxisProvider"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/cells"/>
+      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//Table/ownedCellEditorConfigurations"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//Table/tableKindId"/>
+    </genClasses>
+    <nestedGenPackages prefix="Nattableconfiguration" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" ecorePackage="nattable.ecore#//nattableconfiguration">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattableconfiguration/CellEditorDeclaration">
+        <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/COLUMN"/>
+        <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/ROW"/>
+        <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableconfiguration/CellEditorDeclaration/CELL"/>
+      </genEnums>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableconfiguration/TableNamedElement">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableNamedElement/description"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableNamedElement/name"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableconfiguration/TableConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/type"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/iconPath"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/creationTester"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableconfiguration/TableConfiguration/cellEditorDeclaration"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/rowHeaderAxisConfiguration"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/columnHeaderAxisConfiguration"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/columnAxisProviders"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/rowAxisProviders"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/defaultRowAxisProvider"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/defaultColumnAxisProvider"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableconfiguration/TableConfiguration/ownedCellEditorConfigurations"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattableaxisprovider" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattableaxisprovider">
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider">
+        <genOperations ecoreOperation="nattable.ecore#//nattableaxisprovider/AbstractAxisProvider/getAxis"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/IMasterAxisProvider">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisprovider/IMasterAxisProvider/disconnectSlave"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisprovider/IMasterAxisProvider/sources"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/ISlaveAxisProvider"/>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisprovider/AxisProvider">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisprovider/AxisProvider/axis"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisprovider/SlaveObjectAxisProvider"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisprovider/MasterObjectAxisProvider"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattablelabelprovider" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattablelabelprovider">
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattablelabelprovider/ILabelProviderConfiguration"/>
+      <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayIsDerived"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayType"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayMultiplicity"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/FeatureLabelProviderConfiguration/displayName"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration/displayIcon"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/ObjectLabelProviderConfiguration/displayLabel"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayType"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayMultiplicity"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablelabelprovider/OperationLabelProviderConfiguration/displayName"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattableaxisconfiguration" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="nattable.ecore#//nattableaxisconfiguration">
+      <genEnums typeSafeEnumCompatible="false" ecoreEnum="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle">
+        <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/ALPHABETIC"/>
+        <genEnumLiterals ecoreEnumLiteral="nattable.ecore#//nattableaxisconfiguration/AxisIndexStyle/NUMERIC"/>
+      </genEnums>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/indexStyle"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayLabel"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayFilter"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/displayIndex"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedLabelConfigurations"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AbstractHeaderAxisConfiguration/ownedAxisConfigurations"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/axisManagerId"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/labelProviderContext"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/headerLabelConfiguration"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerRepresentation/specificAxisConfigurations"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localHeaderLabelConfiguration"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/axisManager"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/AxisManagerConfiguration/localSpecificConfigurations"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TableHeaderAxisConfiguration/axisManagers"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/LocalTableHeaderAxisConfiguration/axisManagerConfigurations"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/IAxisConfiguration"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/FeatureAxisConfiguration/showOnlyCommonFeature"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxisconfiguration/IFillingConfiguration"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/EStructuralFeatureValueFillingConfiguration">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/EStructuralFeatureValueFillingConfiguration/listenFeature"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration/postActions"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/IPasteConfiguration/detachedMode"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/pastedElementId"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/pasteElementContainementFeature"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/PasteEObjectConfiguration/axisIdentifier"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/axisUsedAsAxisProvider"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/pasteConfiguration"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/depth"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/labelProvider"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/labelProviderContext"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxisconfiguration/TreeFillingConfiguration/filterRule"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattabletester" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattabletester">
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattabletester/AbstractTableTester">
+        <genOperations ecoreOperation="nattable.ecore#//nattabletester/AbstractTableTester/getTester"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattabletester/JavaTableTester">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattabletester/JavaTableTester/tester"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattableaxis" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattableaxis">
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/IAxis">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/IAxis/manager"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/IAxis/alias"/>
+        <genOperations ecoreOperation="nattable.ecore#//nattableaxis/IAxis/getElement"/>
+        <genOperations ecoreOperation="nattable.ecore#//nattableaxis/IAxis/getLocalLabelConfiguration"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ITreeItemAxis">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ITreeItemAxis/parent"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/ITreeItemAxis/expanded"/>
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ITreeItemAxis/children"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/IdAxis">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableaxis/IdAxis/element"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/IdTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EObjectAxis">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EObjectAxis/element"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EObjectTreeItemAxis"/>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/FeatureAxis">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/FeatureAxis/localLabelConfiguration"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/OperationAxis">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/OperationAxis/localLabelConfiguration"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/FeatureTreeItemAxis"/>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/OperationTreeItemAxis"/>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ObjectAxis">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/ObjectAxis/localLabelConfiguration"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattableaxis/ObjectTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/FeatureIdAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/FeatureIdTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EStructuralFeatureAxis">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EStructuralFeatureAxis/element"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EOperationAxis">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/EOperationAxis/element"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EStructuralFeatureTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/EOperationTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/ObjectIdAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/ObjectIdTreeItemAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/AxisGroup">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattableaxis/AxisGroup/groupedAxis"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/OperationIdAxis"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableaxis/OperationIdTreeItemAxis"/>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattablecell" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattablecell">
+      <genClasses ecoreClass="nattable.ecore#//nattablecell/Cell">
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/columnWrapper"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/rowWrapper"/>
+        <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/Cell/problems"/>
+      </genClasses>
+      <genClasses image="false" ecoreClass="nattable.ecore#//nattablecell/ICellAxisWrapper">
+        <genOperations ecoreOperation="nattable.ecore#//nattablecell/ICellAxisWrapper/getElement"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattablecell/EObjectAxisWrapper">
+        <genFeatures notify="false" createChild="false" propertySortChoices="true"
+            ecoreFeature="ecore:EReference nattable.ecore#//nattablecell/EObjectAxisWrapper/element"/>
+      </genClasses>
+      <genClasses ecoreClass="nattable.ecore#//nattablecell/IdAxisWrapper">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattablecell/IdAxisWrapper/element"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattableproblem" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattableproblem">
+      <genClasses ecoreClass="nattable.ecore#//nattableproblem/Problem"/>
+      <genClasses ecoreClass="nattable.ecore#//nattableproblem/StringResolutionProblem">
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableproblem/StringResolutionProblem/valueAsString"/>
+        <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nattable.ecore#//nattableproblem/StringResolutionProblem/unresolvedString"/>
+      </genClasses>
+    </nestedGenPackages>
+    <nestedGenPackages prefix="Nattablestyle" basePackage="org.eclipse.papyrus.infra.nattable.model.nattable"
+        disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
+        ecorePackage="nattable.ecore#//nattablestyle">
+      <g