Bug 570133 - [Model2Doc][DocumentStructureTemplate] We should be able to
define the behavior if there is not value

* add generateIfEmpty attribute to IBodySectionPartTemplate
* add defaultTextIfEmpty to IBodySectionPartTemplate
* change hierarchy of mappers to be able to add
AbstractBodyPartTemplateToStructureMapper,

Change-Id: I1eedcca57700a8e9181199936caa29037e7f8767
Signed-off-by: Pauline DEVILLE <pauline.deville@cea.fr>
Signed-off-by: Vincent Lorenzo <vincent.lorenzo@cea.fr>
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/META-INF/MANIFEST.MF b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
index 3e4ba4e..3086816 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
@@ -31,5 +31,6 @@
  org.eclipse.papyrus.infra.emf.expressions;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.infra.emf.expressions.edit;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/plugin.properties b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/plugin.properties
index a7e059f..91175a6 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/plugin.properties
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/plugin.properties
@@ -99,3 +99,5 @@
 _UI_TableOfFigures_type = Table Of Figures
 _UI_TableOfFigures_tofTitle_feature = Tof Title
 _UI_EAttributeAsParagraph_type = EAttribute As Paragraph
+_UI_IBodySectionPartTemplate_generateIfEmpty_feature = Generate If Empty
+_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature = Default Text If Empty
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EAttributeAsParagraphItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EAttributeAsParagraphItemProvider.java
index 76e86f4..b1e5d7d 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EAttributeAsParagraphItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EAttributeAsParagraphItemProvider.java
@@ -66,6 +66,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -134,6 +136,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -218,6 +262,8 @@
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE:
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EClassPartTemplateItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EClassPartTemplateItemProvider.java
index 09df662..e72f113 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EClassPartTemplateItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EClassPartTemplateItemProvider.java
@@ -66,6 +66,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -134,6 +136,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -220,6 +264,8 @@
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE:
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferencePartTemplateItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferencePartTemplateItemProvider.java
index e97b361..a0f025d 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferencePartTemplateItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferencePartTemplateItemProvider.java
@@ -66,6 +66,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -134,6 +136,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -220,6 +264,8 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE:
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferenceTableViewItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferenceTableViewItemProvider.java
index 7617b61..5cb3d7d 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferenceTableViewItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/EReferenceTableViewItemProvider.java
@@ -66,6 +66,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addGenerateRowHeaderPropertyDescriptor(object);
 			addGenerateColumnHeaderPropertyDescriptor(object);
 		}
@@ -136,6 +138,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Generate Row Header feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -264,6 +308,8 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE:
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/InsertFileTemplateItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/InsertFileTemplateItemProvider.java
index 46a8783..83eeccd 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/InsertFileTemplateItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/InsertFileTemplateItemProvider.java
@@ -68,6 +68,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -136,6 +138,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -232,6 +276,8 @@
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE:
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/TreeListViewItemProvider.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/TreeListViewItemProvider.java
index 1bd4628..c9e12c5 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/TreeListViewItemProvider.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/provider/TreeListViewItemProvider.java
@@ -82,6 +82,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -150,6 +152,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -247,6 +291,8 @@
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE:
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_TITLE:
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__CUSTOM_TITLE:
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY:
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/META-INF/MANIFEST.MF b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/META-INF/MANIFEST.MF
index bc05e62..bf43224 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/META-INF/MANIFEST.MF
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/META-INF/MANIFEST.MF
@@ -26,5 +26,7 @@
  org.eclipse.papyrus.infra.emf.expressions.edit;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)"
+ org.eclipse.emf.transaction;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditor.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditor.java
index d7d017e..cf577b3 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditor.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditor.java
@@ -165,6 +165,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesItemProviderAdapterFactory;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorConfigurationItemProviderAdapterFactory;
 
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesItemProviderAdapterFactory;
 import org.eclipse.ui.actions.WorkspaceModifyOperation;
 
 
@@ -684,6 +685,7 @@
 		adapterFactory.addAdapterFactory(new ExpressionsItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new BooleanExpressionsItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new GeneratorConfigurationItemProviderAdapterFactory());
+		adapterFactory.addAdapterFactory(new StylesItemProviderAdapterFactory());
 		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
 		// Create the command stack that will notify this editor as commands are executed.
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditorPlugin.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditorPlugin.java
index cd3fd68..67f7ee4 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditorPlugin.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.editor/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/presentation/DocumentStructureTemplateEditorPlugin.java
@@ -25,6 +25,7 @@
 import org.eclipse.papyrus.model2doc.core.author.provider.AuthorEditPlugin;
 import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesEditPlugin;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorconfigurationEditPlugin;
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesEditPlugin;
 
 /**
  * This is the central singleton for the Documentstructuretemplate editor plugin.
@@ -66,6 +67,7 @@
 				EcoreEditPlugin.INSTANCE,
 				ExpressionsEditPlugin.INSTANCE,
 				GeneratorconfigurationEditPlugin.INSTANCE,
+				StylesEditPlugin.INSTANCE,
 		});
 	}
 
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/META-INF/MANIFEST.MF b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/META-INF/MANIFEST.MF
index 94e5f3a..6163118 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/META-INF/MANIFEST.MF
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/META-INF/MANIFEST.MF
@@ -18,6 +18,7 @@
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.15.0,4.0.0)";resolution:=optional;x-installation:=greedy,
  org.eclipse.emf.ecore;bundle-version="[2.17.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.generatorconfiguration;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
  org.eclipse.papyrus.emf;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.emf.ecore.xmi;bundle-version="[2.15.0,3.0.0)",
  org.eclipse.emf.validation;bundle-version="[1.8.0,2.0.0)",
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore
index 961286c..320d9b9 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.ecore
@@ -144,6 +144,12 @@
         <details key="documentation" value="When the expression returns false, nothing will be generated for the object or for its child elements."/>
       </eAnnotations>
     </eStructuralFeatures>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="generateIfEmpty" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+        defaultValueLiteral="false"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultTextIfEmpty" ordered="false"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+        defaultValueLiteral="N/A"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EEnum" name="EClassFilterBehavior">
     <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel
index c7554df..b312cf1 100644
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel
@@ -11,7 +11,7 @@
     nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.tests/src-gen"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
-    optimizedHasChildren="true" usedGenPackages="../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration"
+    optimizedHasChildren="true" usedGenPackages="../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
     operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
     pluralizedGetters="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
@@ -94,6 +94,8 @@
       <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/customTitle"/>
       <genFeatures xsi:type="genmodel:GenFeature" property="None" children="true"
           createChild="true" ecoreFeature="ecore:EReference documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateBranchCondition"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/generateIfEmpty"/>
+      <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute documentstructuretemplate.ecore#//IBodySectionPartTemplate/defaultTextIfEmpty"/>
       <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="documentstructuretemplate.ecore#//IBodySectionPartTemplate/buildPartTemplateTitle"
           body="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations.INSTANCE.buildPartTemplateTitle(this,context);">
         <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="documentstructuretemplate.ecore#//IBodySectionPartTemplate/buildPartTemplateTitle/context"/>
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.notation b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.notation
index 164c116..d4e03f6 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.notation
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.notation
@@ -1,32 +1,32 @@
 <?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:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" 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/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
   <css:ModelStyleSheets xmi:id="_GSHg0B2EEemmq_cjeiIGww">
     <stylesheets xmi:type="css:StyleSheetReference" xmi:id="_2T90IHyQEemAGJlsH38HbQ" path="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/custom.css"/>
   </css:ModelStyleSheets>
   <notation:Diagram xmi:id="_hHH6sB5QEemmq_cjeiIGww" type="PapyrusUMLClassDiagram" name="Document Structure Template" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_uf2PUB5QEemmq_cjeiIGww" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_uf2PUB5QEemmq_cjeiIGww" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_uf22YB5QEemmq_cjeiIGww" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_uf22YR5QEemmq_cjeiIGww" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_uf22Yh5QEemmq_cjeiIGww" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_uf3dcB5QEemmq_cjeiIGww" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_sA12ADnKEem5-oyJMXJtFA" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_sA12ADnKEem5-oyJMXJtFA" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_sAROQDnKEem5-oyJMXJtFA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_sA12ATnKEem5-oyJMXJtFA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_ucZ5gDnKEem5-oyJMXJtFA" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ucZ5gDnKEem5-oyJMXJtFA" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_ub48IDnKEem5-oyJMXJtFA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ucZ5gTnKEem5-oyJMXJtFA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_iIGFcD8_EemRfNnBSp4rTg" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_iIGFcD8_EemRfNnBSp4rTg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_WYPzID8_EemRfNnBSp4rTg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_iIGFcT8_EemRfNnBSp4rTg"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_iHXssD8_EemRfNnBSp4rTg" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_iHXssD8_EemRfNnBSp4rTg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_UOsFoD8_EemRfNnBSp4rTg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_iHXssT8_EemRfNnBSp4rTg"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_rfEC4EBSEemAE9dcWhaqZw" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_rfEC4EBSEemAE9dcWhaqZw" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_yO3_QEBREemAE9dcWhaqZw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_rfEC4UBSEemAE9dcWhaqZw"/>
         </children>
@@ -39,11 +39,11 @@
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_KwY6kEmEEem4wpUXttaNpQ" source="PapyrusCSSForceValue">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_KwY6kUmEEem4wpUXttaNpQ" key="visible" value="true"/>
         </eAnnotations>
-        <children xmi:type="notation:Shape" xmi:id="_MXnXEEmEEem4wpUXttaNpQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_MXnXEEmEEem4wpUXttaNpQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_MW0s4EmEEem4wpUXttaNpQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_MXnXEUmEEem4wpUXttaNpQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_aon-kEmEEem4wpUXttaNpQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_aon-kEmEEem4wpUXttaNpQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_WUMU8EmEEem4wpUXttaNpQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_aon-kUmEEem4wpUXttaNpQ"/>
         </children>
@@ -61,13 +61,13 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_pmiT0B5MEemmq_cjeiIGww"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uf2PUR5QEemmq_cjeiIGww" x="540" y="-220" width="341" height="221"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_uv75wB5QEemmq_cjeiIGww" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_uv75wB5QEemmq_cjeiIGww" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_uv75wh5QEemmq_cjeiIGww" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_uv75wx5QEemmq_cjeiIGww" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_uv75xB5QEemmq_cjeiIGww" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_uv75xR5QEemmq_cjeiIGww" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_C60BQEmLEem4wpUXttaNpQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_C60BQEmLEem4wpUXttaNpQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_-rx1AEmKEem4wpUXttaNpQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_C60BQUmLEem4wpUXttaNpQ"/>
         </children>
@@ -91,13 +91,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_tLqTYB17Eem3fboELVTtYQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uv75wR5QEemmq_cjeiIGww" x="-120" y="-220" width="341" height="159"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_f06PMDnLEem5-oyJMXJtFA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_f06PMDnLEem5-oyJMXJtFA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_f062QDnLEem5-oyJMXJtFA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_f062QTnLEem5-oyJMXJtFA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_f062QjnLEem5-oyJMXJtFA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_f07dUDnLEem5-oyJMXJtFA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_iky84DnLEem5-oyJMXJtFA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_iky84DnLEem5-oyJMXJtFA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_ikXfEDnLEem5-oyJMXJtFA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_iky84TnLEem5-oyJMXJtFA"/>
         </children>
@@ -121,7 +121,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_f03L4DnLEem5-oyJMXJtFA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_f06PMTnLEem5-oyJMXJtFA" x="-120" y="280" width="141" height="141"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_xzXY0DnLEem5-oyJMXJtFA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_xzXY0DnLEem5-oyJMXJtFA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_xzXY0jnLEem5-oyJMXJtFA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_xzXY0znLEem5-oyJMXJtFA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xzXY1DnLEem5-oyJMXJtFA" y="15"/>
@@ -147,7 +147,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_xzVjoDnLEem5-oyJMXJtFA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xzXY0TnLEem5-oyJMXJtFA" x="76" y="280" width="145" height="141"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_zXFOUDnLEem5-oyJMXJtFA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_zXFOUDnLEem5-oyJMXJtFA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_zXFOUjnLEem5-oyJMXJtFA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_zXFOUznLEem5-oyJMXJtFA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_zXFOVDnLEem5-oyJMXJtFA" y="15"/>
@@ -173,21 +173,21 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_zXDZIDnLEem5-oyJMXJtFA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zXFOUTnLEem5-oyJMXJtFA" x="-320" y="20" width="541" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_xklxcDnVEem5-oyJMXJtFA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_xklxcDnVEem5-oyJMXJtFA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_xkmYgDnVEem5-oyJMXJtFA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_xkmYgTnVEem5-oyJMXJtFA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xkmYgjnVEem5-oyJMXJtFA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_xkmYgznVEem5-oyJMXJtFA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_7P8ccDnVEem5-oyJMXJtFA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_7P8ccDnVEem5-oyJMXJtFA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_7PfJcDnVEem5-oyJMXJtFA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_7P8ccTnVEem5-oyJMXJtFA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_AaQlMDnWEem5-oyJMXJtFA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_AaQlMDnWEem5-oyJMXJtFA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_AZyrIDnWEem5-oyJMXJtFA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_AaQlMTnWEem5-oyJMXJtFA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_05eH0EBSEemAE9dcWhaqZw" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_05eH0EBSEemAE9dcWhaqZw" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_xCf2QEBSEemAE9dcWhaqZw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_05eH0UBSEemAE9dcWhaqZw"/>
         </children>
@@ -211,7 +211,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_xkiHEDnVEem5-oyJMXJtFA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xklxcTnVEem5-oyJMXJtFA" x="540" y="-400" width="341" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Q9QwUFCGEems8PYEpvQE1w" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_Q9QwUFCGEems8PYEpvQE1w" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Q9W28FCGEems8PYEpvQE1w" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_Q9W28VCGEems8PYEpvQE1w" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Q9W28lCGEems8PYEpvQE1w" y="15"/>
@@ -237,7 +237,7 @@
       <element xmi:type="uml:Interface" href="pathmap://GENERATOR_CONFIGURATION/generatorconfiguration.uml#_fUlRoFB6EemNlsOH2YnpzQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Q9RXYFCGEems8PYEpvQE1w" x="1100" y="-100" width="281"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_lpMYIFX9EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_lpMYIFX9EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_lpMYIlX9EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_lpMYI1X9EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_lpMYJFX9EemKJasCEBKPhQ" y="15"/>
@@ -263,7 +263,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_lpLKAFX9EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lpMYIVX9EemKJasCEBKPhQ" x="420" y="280" width="561" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_PaxYsFX-EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_PaxYsFX-EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_PaxYslX-EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_PaxYs1X-EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_PaxYtFX-EemKJasCEBKPhQ" y="15"/>
@@ -289,7 +289,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_Pau8cFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_PaxYsVX-EemKJasCEBKPhQ" x="420" y="540" width="241" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_R9-VQFX-EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_R9-VQFX-EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_R9-8UVX-EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_R9-8UlX-EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_R9-8U1X-EemKJasCEBKPhQ" y="15"/>
@@ -315,7 +315,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R9-8UFX-EemKJasCEBKPhQ" x="740" y="540" width="241" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_VnMesFX-EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_VnMesFX-EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_VnMeslX-EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_VnMes1X-EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_VnMetFX-EemKJasCEBKPhQ" y="15"/>
@@ -341,7 +341,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_VnL3oFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VnMesVX-EemKJasCEBKPhQ" x="420" y="780" width="761" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_cjficFX-EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_cjficFX-EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_cjficlX-EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_cjfic1X-EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_cjfidFX-EemKJasCEBKPhQ" y="15"/>
@@ -367,7 +367,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_cjbRAFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cjficVX-EemKJasCEBKPhQ" x="420" y="1040" width="241" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_e0vzYFX-EemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_e0vzYFX-EemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_e0vzYlX-EemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_e0vzY1X-EemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_e0vzZFX-EemKJasCEBKPhQ" y="15"/>
@@ -393,35 +393,47 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_e0vMUFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e0vzYVX-EemKJasCEBKPhQ" x="740" y="1040" width="241" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Xvx50FYUEemiOeXIb5muwQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_Xvx50FYUEemiOeXIb5muwQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Xv2yUFYUEemiOeXIb5muwQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_Xv3ZYFYUEemiOeXIb5muwQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Xv3ZYVYUEemiOeXIb5muwQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_Xv3ZYlYUEemiOeXIb5muwQ" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_BAOjQFYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BAOjQFYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_AEfyQFX-EemKJasCEBKPhQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BAOjQVYVEemiOeXIb5muwQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_BAyj8FYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BAyj8FYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_32k08FYFEemKJasCEBKPhQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BAyj8VYVEemiOeXIb5muwQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_BBRsIFYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BBRsIFYVEemiOeXIb5muwQ" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_a2X_sFYGEemKJasCEBKPhQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BBRsIVYVEemiOeXIb5muwQ"/>
         </children>
+        <children xmi:type="notation:Shape" xmi:id="_52h7gE9ZEeu4E_i7FdV4zw" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
+          <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_ZRqgkI29EemcPPjkzx166Q"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_52h7gU9ZEeu4E_i7FdV4zw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_lT1a4E9WEeuqJeHY8wIZrg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
+          <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_lSORUE9WEeuqJeHY8wIZrg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_lT1a4U9WEeuqJeHY8wIZrg"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_0t1DsE9WEeuqJeHY8wIZrg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
+          <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_0tIgIE9WEeuqJeHY8wIZrg"/>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_0t1DsU9WEeuqJeHY8wIZrg"/>
+        </children>
         <styles xmi:type="notation:TitleStyle" xmi:id="_Xv3ZY1YUEemiOeXIb5muwQ"/>
         <styles xmi:type="notation:SortingStyle" xmi:id="_Xv3ZZFYUEemiOeXIb5muwQ"/>
         <styles xmi:type="notation:FilteringStyle" xmi:id="_Xv3ZZVYUEemiOeXIb5muwQ"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xv3ZZlYUEemiOeXIb5muwQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_Xv4AcFYUEemiOeXIb5muwQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="__ijwMHV1EemQUasExi-pKA" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="__ijwMHV1EemQUasExi-pKA" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#__h3MoHV1EemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="__ijwMXV1EemQUasExi-pKA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_DJWwMI2-EemcPPjkzx166Q" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_DJWwMI2-EemcPPjkzx166Q" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_DITAQI2-EemcPPjkzx166Q"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_DJWwMY2-EemcPPjkzx166Q"/>
         </children>
@@ -437,9 +449,9 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xv4AeVYUEemiOeXIb5muwQ"/>
       </children>
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_XvipQFYUEemiOeXIb5muwQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvx50VYUEemiOeXIb5muwQ" x="420" y="80" width="761"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xvx50VYUEemiOeXIb5muwQ" x="420" y="40" width="761"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_HnwkkIxSEem126L41vD09A" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_HnwkkIxSEem126L41vD09A" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_HnxLoIxSEem126L41vD09A" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_HnxLoYxSEem126L41vD09A" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_HnxLooxSEem126L41vD09A" y="15"/>
@@ -465,7 +477,7 @@
       <element xmi:type="uml:Interface" href="pathmap://MODEL2DOC/AUTHOR/author.uml#_PbrtUIwlEemPH4WRSA0__A"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HnwkkYxSEem126L41vD09A" x="1100" y="-220" width="281"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_VzABUI29EemcPPjkzx166Q" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_VzABUI29EemcPPjkzx166Q" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_VzBPcI29EemcPPjkzx166Q" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_VzBPcY29EemcPPjkzx166Q" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_VzBPco29EemcPPjkzx166Q" y="15"/>
@@ -489,15 +501,15 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VzB2jo29EemcPPjkzx166Q"/>
       </children>
       <element xmi:type="uml:Interface" href="pathmap://EXPRESSIONS//expressions.uml#_P-MkYBVaEee_D4EhwjboOQ"/>
-      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VzABUY29EemcPPjkzx166Q" x="1320" y="80" width="221"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VzABUY29EemcPPjkzx166Q" x="1320" y="60" width="221"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Zany8Oj8EemWx6IYXety0w" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_Zany8Oj8EemWx6IYXety0w" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ZaugoOj8EemWx6IYXety0w" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_Zaugoej8EemWx6IYXety0w" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Zaugouj8EemWx6IYXety0w" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_Zaugo-j8EemWx6IYXety0w" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_tBOmIOj8EemWx6IYXety0w" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_tBOmIOj8EemWx6IYXety0w" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_tmYT4Oj3Eem6Q8pIItgtwQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_tBOmIej8EemWx6IYXety0w"/>
         </children>
@@ -528,7 +540,7 @@
     </styles>
     <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_Mmkt0B-7EempQZhnl_zCWg" name="css_stylesheets" eObjectListValue="_MmlU4B-7EempQZhnl_zCWg"/>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_vedMoB5QEemmq_cjeiIGww" type="InterfaceRealization_Edge" source="_uv75wB5QEemmq_cjeiIGww" target="_uf2PUB5QEemmq_cjeiIGww" routing="Rectilinear">
+    <edges xmi:type="notation:Connector" xmi:id="_vedMoB5QEemmq_cjeiIGww" type="InterfaceRealization_Edge" source="_uv75wB5QEemmq_cjeiIGww" target="_uf2PUB5QEemmq_cjeiIGww" routing="Rectilinear" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vJgy4B-6EempQZhnl_zCWg" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_vJgy4R-6EempQZhnl_zCWg" key="routing" value="true"/>
       </eAnnotations>
@@ -540,30 +552,30 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v0DCIB5QEemmq_cjeiIGww" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_vedzsx5QEemmq_cjeiIGww" x="-1" y="58"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_vedMoR5QEemmq_cjeiIGww"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_vedMoR5QEemmq_cjeiIGww" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_nWOeEB5MEemmq_cjeiIGww"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vedMoh5QEemmq_cjeiIGww" points="[221, -180, -643984, -643984]$[540, -180, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v0H6oB5QEemmq_cjeiIGww" id="(1.0,0.25157232704402516)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_v0H6oR5QEemmq_cjeiIGww" id="(0.0,0.18099547511312217)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_EQDWkDnMEem5-oyJMXJtFA" type="Association_Edge" source="_uv75wB5QEemmq_cjeiIGww" target="_zXFOUDnLEem5-oyJMXJtFA">
+    <edges xmi:type="notation:Connector" xmi:id="_EQDWkDnMEem5-oyJMXJtFA" type="Association_Edge" source="_uv75wB5QEemmq_cjeiIGww" target="_zXFOUDnLEem5-oyJMXJtFA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_EQDWkznMEem5-oyJMXJtFA" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H7GE8DnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWlDnMEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWlTnMEem5-oyJMXJtFA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWlTnMEem5-oyJMXJtFA" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H7g7sDnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWljnMEem5-oyJMXJtFA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWlznMEem5-oyJMXJtFA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWlznMEem5-oyJMXJtFA" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H759QDnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWmDnMEem5-oyJMXJtFA" x="12" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWmTnMEem5-oyJMXJtFA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWmTnMEem5-oyJMXJtFA" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H8U0ADnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWmjnMEem5-oyJMXJtFA" x="-12" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWmznMEem5-oyJMXJtFA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_EQDWmznMEem5-oyJMXJtFA" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H9Ea4DnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWnDnMEem5-oyJMXJtFA" x="12" y="20"/>
       </children>
@@ -571,106 +583,106 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_H9QBEDnMEem5-oyJMXJtFA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EQDWnjnMEem5-oyJMXJtFA" x="-12" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_EQDWkTnMEem5-oyJMXJtFA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_EQDWkTnMEem5-oyJMXJtFA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_EPiZMDnMEem5-oyJMXJtFA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EQDWkjnMEem5-oyJMXJtFA" points="[20, 179, -643984, -643984]$[20, 260, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERC1EDnMEem5-oyJMXJtFA" id="(0.46920821114369504,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERC1ETnMEem5-oyJMXJtFA" id="(0.6654343807763401,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Om-uIDnMEem5-oyJMXJtFA" type="InterfaceRealization_Edge" source="_f06PMDnLEem5-oyJMXJtFA" target="_zXFOUDnLEem5-oyJMXJtFA">
+    <edges xmi:type="notation:Connector" xmi:id="_Om-uIDnMEem5-oyJMXJtFA" type="InterfaceRealization_Edge" source="_f06PMDnLEem5-oyJMXJtFA" target="_zXFOUDnLEem5-oyJMXJtFA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Om-uIznMEem5-oyJMXJtFA" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Om-uJDnMEem5-oyJMXJtFA" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_Om-uJTnMEem5-oyJMXJtFA" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Om-uJjnMEem5-oyJMXJtFA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Om-uITnMEem5-oyJMXJtFA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Om-uITnMEem5-oyJMXJtFA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_Omg0EDnMEem5-oyJMXJtFA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Om-uIjnMEem5-oyJMXJtFA" points="[-40, 280, -643984, -643984]$[-40, 181, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_On4tEDnMEem5-oyJMXJtFA" id="(0.5673758865248227,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_On5UIDnMEem5-oyJMXJtFA" id="(0.5175600739371534,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PHpyQDnMEem5-oyJMXJtFA" type="InterfaceRealization_Edge" source="_xzXY0DnLEem5-oyJMXJtFA" target="_zXFOUDnLEem5-oyJMXJtFA">
+    <edges xmi:type="notation:Connector" xmi:id="_PHpyQDnMEem5-oyJMXJtFA" type="InterfaceRealization_Edge" source="_xzXY0DnLEem5-oyJMXJtFA" target="_zXFOUDnLEem5-oyJMXJtFA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_PHpyQznMEem5-oyJMXJtFA" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_PHpyRDnMEem5-oyJMXJtFA" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_PHpyRTnMEem5-oyJMXJtFA" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_PHpyRjnMEem5-oyJMXJtFA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_PHpyQTnMEem5-oyJMXJtFA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_PHpyQTnMEem5-oyJMXJtFA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_PHIN0DnMEem5-oyJMXJtFA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PHpyQjnMEem5-oyJMXJtFA" points="[140, 280, -643984, -643984]$[140, 181, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIpQwDnMEem5-oyJMXJtFA" id="(0.4413793103448276,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_PIpQwTnMEem5-oyJMXJtFA" id="(0.8502772643253235,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_3u4wgDnVEem5-oyJMXJtFA" type="Association_Edge" source="_xklxcDnVEem5-oyJMXJtFA" target="_uf2PUB5QEemmq_cjeiIGww">
+    <edges xmi:type="notation:Connector" xmi:id="_3u4wgDnVEem5-oyJMXJtFA" type="Association_Edge" source="_xklxcDnVEem5-oyJMXJtFA" target="_uf2PUB5QEemmq_cjeiIGww" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_3u5XkDnVEem5-oyJMXJtFA" type="Association_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XkTnVEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XkjnVEem5-oyJMXJtFA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XkjnVEem5-oyJMXJtFA" visible="false" type="Association_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XkznVEem5-oyJMXJtFA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XlDnVEem5-oyJMXJtFA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XlDnVEem5-oyJMXJtFA" visible="false" type="Association_TargetRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XlTnVEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XljnVEem5-oyJMXJtFA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XljnVEem5-oyJMXJtFA" visible="false" type="Association_SourceRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XlznVEem5-oyJMXJtFA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XmDnVEem5-oyJMXJtFA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_3u5XmDnVEem5-oyJMXJtFA" visible="false" type="Association_SourceMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XmTnVEem5-oyJMXJtFA" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_3u5XmjnVEem5-oyJMXJtFA" type="Association_TargetMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_3u5XmznVEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_3u4wgTnVEem5-oyJMXJtFA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_3u4wgTnVEem5-oyJMXJtFA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_3uRFcDnVEem5-oyJMXJtFA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3u4wgjnVEem5-oyJMXJtFA" points="[700, -300, -643984, -643984]$[700, -220, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3wG4gDnVEem5-oyJMXJtFA" id="(0.46920821114369504,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3wG4gTnVEem5-oyJMXJtFA" id="(0.46920821114369504,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_2FLV0DnXEem5-oyJMXJtFA" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_xklxcDnVEem5-oyJMXJtFA">
+    <edges xmi:type="notation:Connector" xmi:id="_2FLV0DnXEem5-oyJMXJtFA" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_xklxcDnVEem5-oyJMXJtFA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_2FL84jnXEem5-oyJMXJtFA" type="Association_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL84znXEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2FL85DnXEem5-oyJMXJtFA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2FL85DnXEem5-oyJMXJtFA" visible="false" type="Association_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL85TnXEem5-oyJMXJtFA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2FL85jnXEem5-oyJMXJtFA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2FL85jnXEem5-oyJMXJtFA" visible="false" type="Association_TargetRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL85znXEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2FL86DnXEem5-oyJMXJtFA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2FL86DnXEem5-oyJMXJtFA" visible="false" type="Association_SourceRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL86TnXEem5-oyJMXJtFA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_2FL86jnXEem5-oyJMXJtFA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_2FL86jnXEem5-oyJMXJtFA" visible="false" type="Association_SourceMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL86znXEem5-oyJMXJtFA" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_2FL87DnXEem5-oyJMXJtFA" type="Association_TargetMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2FL87TnXEem5-oyJMXJtFA" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_2FL84DnXEem5-oyJMXJtFA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_2FL84DnXEem5-oyJMXJtFA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_2EojQDnXEem5-oyJMXJtFA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2FL84TnXEem5-oyJMXJtFA" points="[820, -220, -643984, -643984]$[820, -288, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2GXooDnXEem5-oyJMXJtFA" id="(0.8211143695014663,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2GXooTnXEem5-oyJMXJtFA" id="(0.8211143695014663,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_TCZQ0FCGEems8PYEpvQE1w" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_Q9QwUFCGEems8PYEpvQE1w">
+    <edges xmi:type="notation:Connector" xmi:id="_TCZQ0FCGEems8PYEpvQE1w" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_Q9QwUFCGEems8PYEpvQE1w" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_TCZ34FCGEems8PYEpvQE1w" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_D_pwgFYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCZ34VCGEems8PYEpvQE1w" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TCZ34lCGEems8PYEpvQE1w" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TCZ34lCGEems8PYEpvQE1w" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EArrQFYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCZ341CGEems8PYEpvQE1w" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TCZ35FCGEems8PYEpvQE1w" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TCZ35FCGEems8PYEpvQE1w" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EBe8gFYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCZ35VCGEems8PYEpvQE1w" x="33" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TCae8FCGEems8PYEpvQE1w" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TCae8FCGEems8PYEpvQE1w" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ECKR8FYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCae8VCGEems8PYEpvQE1w" x="-33" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_TCae8lCGEems8PYEpvQE1w" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_TCae8lCGEems8PYEpvQE1w" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ECzyMFYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCae81CGEems8PYEpvQE1w" x="33" y="20"/>
       </children>
@@ -678,120 +690,120 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EDiyAFYPEemiOeXIb5muwQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TCae9VCGEems8PYEpvQE1w" x="-33" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_TCZQ0VCGEems8PYEpvQE1w"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_TCZQ0VCGEems8PYEpvQE1w" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_TBJToFCGEems8PYEpvQE1w"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TCZQ0lCGEems8PYEpvQE1w" points="[881, -60, -643984, -643984]$[1100, -60, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TEY04FCGEems8PYEpvQE1w" id="(1.0,0.7239819004524887)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TEZb8FCGEems8PYEpvQE1w" id="(0.0,0.38461538461538464)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_omnLgFX9EemKJasCEBKPhQ" type="Association_Edge" source="_xzXY0DnLEem5-oyJMXJtFA" target="_lpMYIFX9EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_omnLgFX9EemKJasCEBKPhQ" type="Association_Edge" source="_xzXY0DnLEem5-oyJMXJtFA" target="_lpMYIFX9EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_omnLg1X9EemKJasCEBKPhQ" type="Association_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLhFX9EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_omnLhVX9EemKJasCEBKPhQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_omnLhVX9EemKJasCEBKPhQ" visible="false" type="Association_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLhlX9EemKJasCEBKPhQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_omnLh1X9EemKJasCEBKPhQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_omnLh1X9EemKJasCEBKPhQ" visible="false" type="Association_TargetRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLiFX9EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_omnLiVX9EemKJasCEBKPhQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_omnLiVX9EemKJasCEBKPhQ" visible="false" type="Association_SourceRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLilX9EemKJasCEBKPhQ" x="-16" y="27"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_omnLi1X9EemKJasCEBKPhQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_omnLi1X9EemKJasCEBKPhQ" visible="false" type="Association_SourceMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLjFX9EemKJasCEBKPhQ" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_omnLjVX9EemKJasCEBKPhQ" type="Association_TargetMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_omnLjlX9EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_omnLgVX9EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_omnLgVX9EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_omOJ8FX9EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_omnLglX9EemKJasCEBKPhQ" points="[221, 320, -643984, -643984]$[540, 320, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_onbD0FX9EemKJasCEBKPhQ" id="(1.0,0.28368794326241137)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_onbD0VX9EemKJasCEBKPhQ" id="(0.0,0.2484472049689441)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qcUTcFX-EemKJasCEBKPhQ" type="Generalization_Edge" source="_PaxYsFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_qcUTcFX-EemKJasCEBKPhQ" type="Generalization_Edge" source="_PaxYsFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_qcUTc1X-EemKJasCEBKPhQ" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qcUTdFX-EemKJasCEBKPhQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_qcUTcVX-EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qcUTcVX-EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_qb4OkFX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qcUTclX-EemKJasCEBKPhQ" points="[540, 540, -643984, -643984]$[540, 441, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qdQHkFX-EemKJasCEBKPhQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qdQHkVX-EemKJasCEBKPhQ" id="(0.21390374331550802,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_sV5EMFX-EemKJasCEBKPhQ" type="Generalization_Edge" source="_R9-VQFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_sV5EMFX-EemKJasCEBKPhQ" type="Generalization_Edge" source="_R9-VQFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_sV5EM1X-EemKJasCEBKPhQ" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_sV5ENFX-EemKJasCEBKPhQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_sV5EMVX-EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_sV5EMVX-EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_sVYt4FX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sV5EMlX-EemKJasCEBKPhQ" points="[860, 540, -643984, -643984]$[860, 441, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWzqMFX-EemKJasCEBKPhQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sWzqMVX-EemKJasCEBKPhQ" id="(0.7843137254901961,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_xU0cUFX-EemKJasCEBKPhQ" type="Association_Edge" source="_PaxYsFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_xU0cUFX-EemKJasCEBKPhQ" type="Association_Edge" source="_PaxYsFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_xU0cU1X-EemKJasCEBKPhQ" type="Association_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cVFX-EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cVVX-EemKJasCEBKPhQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cVVX-EemKJasCEBKPhQ" visible="false" type="Association_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cVlX-EemKJasCEBKPhQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cV1X-EemKJasCEBKPhQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cV1X-EemKJasCEBKPhQ" visible="false" type="Association_TargetRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cWFX-EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cWVX-EemKJasCEBKPhQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cWVX-EemKJasCEBKPhQ" visible="false" type="Association_SourceRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cWlX-EemKJasCEBKPhQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cW1X-EemKJasCEBKPhQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_xU0cW1X-EemKJasCEBKPhQ" visible="false" type="Association_SourceMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cXFX-EemKJasCEBKPhQ" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_xU0cXVX-EemKJasCEBKPhQ" type="Association_TargetMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xU0cXlX-EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_xU0cUVX-EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_xU0cUVX-EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_xUBLEFX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xU0cUlX-EemKJasCEBKPhQ" points="[540, 701, -643984, -643984]$[540, 780, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xVgY0FX-EemKJasCEBKPhQ" id="(0.4979253112033195,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xVgY0VX-EemKJasCEBKPhQ" id="(0.15768725361366623,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_CEDZwFX_EemKJasCEBKPhQ" type="Generalization_Edge" source="_e0vzYFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_CEDZwFX_EemKJasCEBKPhQ" type="Generalization_Edge" source="_e0vzYFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_CEDZw1X_EemKJasCEBKPhQ" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_CEDZxFX_EemKJasCEBKPhQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CEDZwVX_EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CEDZwVX_EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CDgAIFX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CEDZwlX_EemKJasCEBKPhQ" points="[860, 1040, -643984, -643984]$[860, 941, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CE8KkFX_EemKJasCEBKPhQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CE8KkVX_EemKJasCEBKPhQ" id="(0.5781865965834428,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Cv7oUFX_EemKJasCEBKPhQ" type="Generalization_Edge" source="_cjficFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_Cv7oUFX_EemKJasCEBKPhQ" type="Generalization_Edge" source="_cjficFX-EemKJasCEBKPhQ" target="_VnMesFX-EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Cv7oU1X_EemKJasCEBKPhQ" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Cv7oVFX_EemKJasCEBKPhQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Cv7oUVX_EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Cv7oUVX_EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CvcgIFX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cv7oUlX_EemKJasCEBKPhQ" points="[540, 1040, -643984, -643984]$[540, 941, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cw2OUFX_EemKJasCEBKPhQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Cw2OUVX_EemKJasCEBKPhQ" id="(0.15768725361366623,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ElyWsFX_EemKJasCEBKPhQ" type="Association_Edge" source="_cjficFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_ElyWsFX_EemKJasCEBKPhQ" type="Association_Edge" source="_cjficFX-EemKJasCEBKPhQ" target="_lpMYIFX9EemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ElyWs1X_EemKJasCEBKPhQ" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FWfa4FX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWtFX_EemKJasCEBKPhQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWtVX_EemKJasCEBKPhQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWtVX_EemKJasCEBKPhQ" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FW98AFX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWtlX_EemKJasCEBKPhQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWt1X_EemKJasCEBKPhQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWt1X_EemKJasCEBKPhQ" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FXcdIFX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWuFX_EemKJasCEBKPhQ" x="44" y="-120"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWuVX_EemKJasCEBKPhQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWuVX_EemKJasCEBKPhQ" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FX5JEFX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWulX_EemKJasCEBKPhQ" x="-44" y="-80"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWu1X_EemKJasCEBKPhQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ElyWu1X_EemKJasCEBKPhQ" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FYWcEFX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWvFX_EemKJasCEBKPhQ" x="44" y="-80"/>
       </children>
@@ -799,83 +811,91 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_FY_8UFX_EemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ElyWvlX_EemKJasCEBKPhQ" x="-29" y="-33"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ElyWsVX_EemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ElyWsVX_EemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_ElNH4FX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ElyWslX_EemKJasCEBKPhQ" points="[420, 1080, -643984, -643984]$[320, 1080, -643984, -643984]$[320, 420, -643984, -643984]$[420, 420, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EmwnEFX_EemKJasCEBKPhQ" id="(0.0,0.2484472049689441)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EmwnEVX_EemKJasCEBKPhQ" id="(0.0,0.8695652173913043)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_CTStoFYVEemiOeXIb5muwQ" type="Generalization_Edge" source="_lpMYIFX9EemKJasCEBKPhQ" target="_Xvx50FYUEemiOeXIb5muwQ">
+    <edges xmi:type="notation:Connector" xmi:id="_CTStoFYVEemiOeXIb5muwQ" type="Generalization_Edge" source="_lpMYIFX9EemKJasCEBKPhQ" target="_Xvx50FYUEemiOeXIb5muwQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_CTTUsFYVEemiOeXIb5muwQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ie6okE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_CTTUsVYVEemiOeXIb5muwQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_CTStoVYVEemiOeXIb5muwQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_CTStoVYVEemiOeXIb5muwQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CSwiIFYVEemiOeXIb5muwQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CTStolYVEemiOeXIb5muwQ" points="[700, 280, -643984, -643984]$[700, 223, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CUQ-AFYVEemiOeXIb5muwQ" id="(0.49910873440285203,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CUQ-AVYVEemiOeXIb5muwQ" id="(0.3679369250985545,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_HuB4AFYVEemiOeXIb5muwQ" type="Generalization_Edge" source="_VnMesFX-EemKJasCEBKPhQ" target="_Xvx50FYUEemiOeXIb5muwQ">
+    <edges xmi:type="notation:Connector" xmi:id="_HuB4AFYVEemiOeXIb5muwQ" type="Generalization_Edge" source="_VnMesFX-EemKJasCEBKPhQ" target="_Xvx50FYUEemiOeXIb5muwQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_HuCfEFYVEemiOeXIb5muwQ" type="Generalization_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IffQUE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_HuCfEVYVEemiOeXIb5muwQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_HuB4AVYVEemiOeXIb5muwQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_HuB4AVYVEemiOeXIb5muwQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_Htiv0FYVEemiOeXIb5muwQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HuB4AlYVEemiOeXIb5muwQ" points="[1120, 780, -643984, -643984]$[1120, 223, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hu6o0FYVEemiOeXIb5muwQ" id="(0.9198423127463863,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hu6o0VYVEemiOeXIb5muwQ" id="(0.9198423127463863,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NiUegIxSEem126L41vD09A" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_HnwkkIxSEem126L41vD09A">
+    <edges xmi:type="notation:Connector" xmi:id="_NiUegIxSEem126L41vD09A" type="Association_Edge" source="_uf2PUB5QEemmq_cjeiIGww" target="_HnwkkIxSEem126L41vD09A" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_NiVFkIxSEem126L41vD09A" type="Association_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFkYxSEem126L41vD09A" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFkoxSEem126L41vD09A" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFkoxSEem126L41vD09A" visible="false" type="Association_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFk4xSEem126L41vD09A" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFlIxSEem126L41vD09A" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFlIxSEem126L41vD09A" visible="false" type="Association_TargetRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFlYxSEem126L41vD09A" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFloxSEem126L41vD09A" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFloxSEem126L41vD09A" visible="false" type="Association_SourceRoleLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFl4xSEem126L41vD09A" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFmIxSEem126L41vD09A" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_NiVFmIxSEem126L41vD09A" visible="false" type="Association_SourceMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFmYxSEem126L41vD09A" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_NiVFmoxSEem126L41vD09A" type="Association_TargetMultiplicityLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NiVFm4xSEem126L41vD09A" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_NiUegYxSEem126L41vD09A"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_NiUegYxSEem126L41vD09A" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_NhQHgIxSEem126L41vD09A"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NiUegoxSEem126L41vD09A" points="[881, -200, -643984, -643984]$[991, -200, -643984, -643984]$[1100, -200, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NkK4oIxSEem126L41vD09A" id="(1.0,0.09049773755656108)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NkK4oYxSEem126L41vD09A" id="(0.0,0.19230769230769232)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ZSltoI29EemcPPjkzx166Q" type="Association_Edge" source="_Xvx50FYUEemiOeXIb5muwQ" target="_VzABUI29EemcPPjkzx166Q">
+    <edges xmi:type="notation:Connector" xmi:id="_ZSltoI29EemcPPjkzx166Q" type="Association_Edge" source="_Xvx50FYUEemiOeXIb5muwQ" target="_VzABUI29EemcPPjkzx166Q" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUsI29EemcPPjkzx166Q" type="Association_StereotypeLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Ibcd0E9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUsY29EemcPPjkzx166Q" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUso29EemcPPjkzx166Q" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUso29EemcPPjkzx166Q" visible="false" type="Association_NameLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IcC6wE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUs429EemcPPjkzx166Q" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUtI29EemcPPjkzx166Q" type="Association_TargetRoleLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUtY29EemcPPjkzx166Q" y="-20"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUtI29EemcPPjkzx166Q" visible="false" type="Association_TargetRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IcoJkE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUtY29EemcPPjkzx166Q" x="48" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUto29EemcPPjkzx166Q" type="Association_SourceRoleLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUt429EemcPPjkzx166Q" y="20"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUto29EemcPPjkzx166Q" visible="false" type="Association_SourceRoleLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IdMKQE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUt429EemcPPjkzx166Q" x="-48" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUuI29EemcPPjkzx166Q" type="Association_SourceMultiplicityLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUuY29EemcPPjkzx166Q" y="20"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUuI29EemcPPjkzx166Q" visible="false" type="Association_SourceMultiplicityLabel">
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IdwK8E9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUuY29EemcPPjkzx166Q" x="48" y="20"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_ZSmUuo29EemcPPjkzx166Q" type="Association_TargetMultiplicityLabel">
-        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUu429EemcPPjkzx166Q" y="-20"/>
+        <styles xmi:type="notation:BooleanValueStyle" xmi:id="_IeVZwE9XEeuqJeHY8wIZrg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ZSmUu429EemcPPjkzx166Q" x="-48" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ZSltoY29EemcPPjkzx166Q"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZSltoY29EemcPPjkzx166Q" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_ZRndQI29EemcPPjkzx166Q"/>
-      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZSltoo29EemcPPjkzx166Q" points="[1181, 120, -643984, -643984]$[1320, 120, -643984, -643984]"/>
-      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZUmf0I29EemcPPjkzx166Q" id="(1.0,0.26666666666666666)"/>
+      <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZSltoo29EemcPPjkzx166Q" points="[1180, 125, -643984, -643984]$[1240, 125, -643984, -643984]$[1240, 105, -643984, -643984]$[1320, 105, -643984, -643984]"/>
+      <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZUmf0I29EemcPPjkzx166Q" id="(1.0,0.30303030303030304)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZUmf0Y29EemcPPjkzx166Q" id="(0.0,0.38461538461538464)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_q02OIOj8EemWx6IYXety0w" type="InterfaceRealization_Edge" source="_Zany8Oj8EemWx6IYXety0w" target="_zXFOUDnLEem5-oyJMXJtFA">
+    <edges xmi:type="notation:Connector" xmi:id="_q02OIOj8EemWx6IYXety0w" type="InterfaceRealization_Edge" source="_Zany8Oj8EemWx6IYXety0w" target="_zXFOUDnLEem5-oyJMXJtFA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_q021Muj8EemWx6IYXety0w" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rYGsMOj8EemWx6IYXety0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_q021M-j8EemWx6IYXety0w" y="40"/>
@@ -884,7 +904,7 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_rYuXQOj8EemWx6IYXety0w" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_q03cQej8EemWx6IYXety0w" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_q021MOj8EemWx6IYXety0w"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_q021MOj8EemWx6IYXety0w" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_JsEMMOj4Eem6Q8pIItgtwQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q021Mej8EemWx6IYXety0w" points="[-260, 280, -643984, -643984]$[-260, 181, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rXb90Oj8EemWx6IYXety0w" id="(0.425531914893617,0.0)"/>
@@ -893,7 +913,7 @@
   </notation:Diagram>
   <css:StyleSheetReference xmi:id="_MmlU4B-7EempQZhnl_zCWg" path="/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/custom.css"/>
   <notation:Diagram xmi:id="_7sXNAFYAEemKJasCEBKPhQ" type="PapyrusUMLClassDiagram" name="BodyPartTemplateDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_B6qiUFYBEemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_B6qiUFYBEemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_B6qiUlYBEemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_B6qiU1YBEemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_B6rJYFYBEemKJasCEBKPhQ" y="15"/>
@@ -919,7 +939,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_B6qiUVYBEemKJasCEBKPhQ" x="-200" y="240" width="401"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_C4omcFYBEemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_C4omcFYBEemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_C4omclYBEemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_C4omc1YBEemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_C4pNgFYBEemKJasCEBKPhQ" y="15"/>
@@ -945,7 +965,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_e0vMUFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C4omcVYBEemKJasCEBKPhQ" x="840" y="100" width="201"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Dld3QFYBEemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_Dld3QFYBEemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Dld3QlYBEemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_DleeUFYBEemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_DleeUVYBEemKJasCEBKPhQ" y="15"/>
@@ -971,7 +991,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_Pau8cFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Dld3QVYBEemKJasCEBKPhQ" x="-860" y="240" width="201"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_EhLRkFYBEemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_EhLRkFYBEemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_EhLRklYBEemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_EhLRk1YBEemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_EhLRlFYBEemKJasCEBKPhQ" y="15"/>
@@ -997,7 +1017,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_cjbRAFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EhLRkVYBEemKJasCEBKPhQ" x="840" y="420" width="201"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_QLducFYBEemKJasCEBKPhQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_QLducFYBEemKJasCEBKPhQ" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_QLduclYBEemKJasCEBKPhQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_QLduc1YBEemKJasCEBKPhQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_QLdudFYBEemKJasCEBKPhQ" y="15"/>
@@ -1023,17 +1043,17 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_QLb5QFYBEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QLducVYBEemKJasCEBKPhQ" x="840" y="700" width="261"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_hDie0FYBEemKJasCEBKPhQ" type="Enumeration_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_hDie0FYBEemKJasCEBKPhQ" type="Enumeration_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_hDie0lYBEemKJasCEBKPhQ" type="Enumeration_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_hDie01YBEemKJasCEBKPhQ" type="Enumeration_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_hDie1FYBEemKJasCEBKPhQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_hDie1VYBEemKJasCEBKPhQ" type="Enumeration_LiteralCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_qbLjoFYBEemKJasCEBKPhQ" type="EnumerationLiteral_LiteralLabel">
+        <children xmi:type="notation:Shape" xmi:id="_qbLjoFYBEemKJasCEBKPhQ" type="EnumerationLiteral_LiteralLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:EnumerationLiteral" href="documentstructuretemplate.uml#_YPrJ8EojEem4wpUXttaNpQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_qbLjoVYBEemKJasCEBKPhQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_qbSRUFYBEemKJasCEBKPhQ" type="EnumerationLiteral_LiteralLabel">
+        <children xmi:type="notation:Shape" xmi:id="_qbSRUFYBEemKJasCEBKPhQ" type="EnumerationLiteral_LiteralLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:EnumerationLiteral" href="documentstructuretemplate.uml#_c0QIYEojEem4wpUXttaNpQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_qbSRUVYBEemKJasCEBKPhQ"/>
         </children>
@@ -1045,7 +1065,7 @@
       <element xmi:type="uml:Enumeration" href="documentstructuretemplate.uml#_SKJWIEojEem4wpUXttaNpQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hDie0VYBEemKJasCEBKPhQ" x="1140" y="700" width="201" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_4eyoUFYBEemKJasCEBKPhQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_4eyoUFYBEemKJasCEBKPhQ" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_4ezPYFYBEemKJasCEBKPhQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_4ezPYVYBEemKJasCEBKPhQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_4ezPYlYBEemKJasCEBKPhQ" y="15"/>
@@ -1071,7 +1091,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_4exaMFYBEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4eyoUVYBEemKJasCEBKPhQ" x="-860" y="440" width="201"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_DwISUFYFEemKJasCEBKPhQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_DwISUFYFEemKJasCEBKPhQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_DwISUlYFEemKJasCEBKPhQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_DwISU1YFEemKJasCEBKPhQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_DwISVFYFEemKJasCEBKPhQ" y="15"/>
@@ -1097,22 +1117,22 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DwISUVYFEemKJasCEBKPhQ" x="400" y="440" width="201"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_UvDRkFYFEemKJasCEBKPhQ" type="Comment_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_UvDRkFYFEemKJasCEBKPhQ" type="Comment_Shape" fontName="Segoe UI" fillColor="13434879" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_UvDRklYFEemKJasCEBKPhQ" type="Comment_BodyLabel"/>
       <element xmi:type="uml:Comment" href="documentstructuretemplate.uml#_Tsx8QFYFEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UvDRkVYFEemKJasCEBKPhQ" x="260" y="240"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_hB-GwHHHEempmPy7tz2aIQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_hB-GwHHHEempmPy7tz2aIQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_hB_U4HHHEempmPy7tz2aIQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_hB_U4XHHEempmPy7tz2aIQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_hB_U4nHHEempmPy7tz2aIQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_hB_U43HHEempmPy7tz2aIQ" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_JvWzAHMTEemN45XGCLZszg" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_JvWzAHMTEemN45XGCLZszg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_Jq_QYHMTEemN45XGCLZszg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_JvWzAXMTEemN45XGCLZszg"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_oRUggHMTEemdXe53Ei-eJw" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_oRUggHMTEemdXe53Ei-eJw" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_lfbAoHMTEemdXe53Ei-eJw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_oRUggXMTEemdXe53Ei-eJw"/>
         </children>
@@ -1122,11 +1142,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hB_U53HHEempmPy7tz2aIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_hB_U6HHHEempmPy7tz2aIQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_1UXB4HHHEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_1UXB4HHHEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_vq0mgHHHEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_1UXB4XHHEempmPy7tz2aIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_ZdBCwHIjEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ZdBCwHIjEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_ZZa8MHIjEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ZdBCwXIjEempmPy7tz2aIQ"/>
         </children>
@@ -1144,13 +1164,13 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_hB8RkHHHEempmPy7tz2aIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hB-GwXHHEempmPy7tz2aIQ" x="-200" y="440" width="401" height="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_A34vcHHIEempmPy7tz2aIQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_A34vcHHIEempmPy7tz2aIQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_A34vcnHIEempmPy7tz2aIQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_A34vc3HIEempmPy7tz2aIQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_A34vdHHIEempmPy7tz2aIQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_A34vdXHIEempmPy7tz2aIQ" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Ft5voHcMEemvX5OEKyKoZg" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Ft5voHcMEemvX5OEKyKoZg" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_Fpd7kHcMEemvX5OEKyKoZg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Ft5voXcMEemvX5OEKyKoZg"/>
         </children>
@@ -1160,15 +1180,15 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A34veXHIEempmPy7tz2aIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_A34venHIEempmPy7tz2aIQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_rfPhcHHIEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_rfPhcHHIEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_rcVXYHHIEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_rfPhcXHIEempmPy7tz2aIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_5NXeUHHIEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_5NXeUHHIEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_5KJyQHHIEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_5NXeUXHIEempmPy7tz2aIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_mANdkHIjEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_mANdkHIjEempmPy7tz2aIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_l9aoQHIjEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_mANdkXIjEempmPy7tz2aIQ"/>
         </children>
@@ -1186,7 +1206,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_A326QHHIEempmPy7tz2aIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A34vcXHIEempmPy7tz2aIQ" x="-620" y="240" width="381"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_O_2vsHHIEempmPy7tz2aIQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_O_2vsHHIEempmPy7tz2aIQ" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_O_2vsnHIEempmPy7tz2aIQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_O_2vs3HIEempmPy7tz2aIQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_O_2vtHHIEempmPy7tz2aIQ" y="15"/>
@@ -1198,11 +1218,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O_3903HIEempmPy7tz2aIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_O_391HHIEempmPy7tz2aIQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_cx3hwHYgEemXTvAEXt5Ttw" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_cx3hwHYgEemXTvAEXt5Ttw" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_WfSwcHYgEemXTvAEXt5Ttw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_cx3hwXYgEemXTvAEXt5Ttw"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_c2h_UHYgEemXTvAEXt5Ttw" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_c2h_UHYgEemXTvAEXt5Ttw" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_WfaFMHYgEemXTvAEXt5Ttw"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_c2h_UXYgEemXTvAEXt5Ttw"/>
         </children>
@@ -1220,13 +1240,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_O_zsYHHIEempmPy7tz2aIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O_2vsXHIEempmPy7tz2aIQ" x="-200" y="680" width="401" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_jMMLAHWKEemQUasExi-pKA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_jMMLAHWKEemQUasExi-pKA" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_jMMLAnWKEemQUasExi-pKA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_jMMLA3WKEemQUasExi-pKA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_jMMLBHWKEemQUasExi-pKA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_jMMyEHWKEemQUasExi-pKA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_R-f6gHWLEemQUasExi-pKA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_R-f6gHWLEemQUasExi-pKA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_N6B_gHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_R-f6gXWLEemQUasExi-pKA"/>
         </children>
@@ -1236,11 +1256,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jMMyFHWKEemQUasExi-pKA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_jMMyFXWKEemQUasExi-pKA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Sc9_MHWLEemQUasExi-pKA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Sc9_MHWLEemQUasExi-pKA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_N6G4AHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Sc9_MXWLEemQUasExi-pKA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_t_Kv8HWLEemQUasExi-pKA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_t_Kv8HWLEemQUasExi-pKA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_t7DsAHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_t_Kv8XWLEemQUasExi-pKA"/>
         </children>
@@ -1258,7 +1278,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_jMKV0HWKEemQUasExi-pKA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jMMLAXWKEemQUasExi-pKA" x="-1252" y="240" width="345"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_2XwA8HWKEemQUasExi-pKA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_2XwA8HWKEemQUasExi-pKA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_2XwA8nWKEemQUasExi-pKA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_2XwoAHWKEemQUasExi-pKA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_2XwoAXWKEemQUasExi-pKA" y="15"/>
@@ -1284,17 +1304,17 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_XvipQFYUEemiOeXIb5muwQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2XwA8XWKEemQUasExi-pKA" x="-1260" y="60" width="361"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_eHUnwHyBEemXM4G5UevpIQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_eHUnwHyBEemXM4G5UevpIQ" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_eHY5MHyBEemXM4G5UevpIQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_eHZgQHyBEemXM4G5UevpIQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_eHZgQXyBEemXM4G5UevpIQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_eHaHUHyBEemXM4G5UevpIQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_nYJS4HyBEemXM4G5UevpIQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_nYJS4HyBEemXM4G5UevpIQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4k0sHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_nYJS4XyBEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_nb2HIHyBEemXM4G5UevpIQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_nb2HIHyBEemXM4G5UevpIQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4n4AHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_nb2HIXyBEemXM4G5UevpIQ"/>
         </children>
@@ -1304,7 +1324,7 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eHaHVHyBEemXM4G5UevpIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_eHaHVXyBEemXM4G5UevpIQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_nvuscHyBEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_nvuscHyBEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_j4q7UHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_nvuscXyBEemXM4G5UevpIQ"/>
         </children>
@@ -1322,13 +1342,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_eEKmEHyBEemXM4G5UevpIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eHUnwXyBEemXM4G5UevpIQ" x="1140" y="420"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_YszN4HyDEemXM4G5UevpIQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_YszN4HyDEemXM4G5UevpIQ" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Ysz08HyDEemXM4G5UevpIQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_Ys0cAHyDEemXM4G5UevpIQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Ys0cAXyDEemXM4G5UevpIQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_Ys0cAnyDEemXM4G5UevpIQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_iFL5kHyDEemXM4G5UevpIQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_iFL5kHyDEemXM4G5UevpIQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_hmo8YHyDEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_iFL5kXyDEemXM4G5UevpIQ"/>
         </children>
@@ -1338,11 +1358,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ys0cBnyDEemXM4G5UevpIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_Ys0cB3yDEemXM4G5UevpIQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_ru6z8HyDEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ru6z8HyDEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_nrR_YHyDEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ru6z8XyDEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_rxx6sHyDEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_rxx6sHyDEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_nrNG4HyDEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_rxx6sXyDEemXM4G5UevpIQ"/>
         </children>
@@ -1360,7 +1380,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_YssgMHyDEemXM4G5UevpIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YszN4XyDEemXM4G5UevpIQ" x="-1680" y="240" width="401" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_lqXTsHyHEemXM4G5UevpIQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_lqXTsHyHEemXM4G5UevpIQ" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_lqX6wHyHEemXM4G5UevpIQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_lqX6wXyHEemXM4G5UevpIQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_lqX6wnyHEemXM4G5UevpIQ" y="15"/>
@@ -1372,15 +1392,15 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqX6x3yHEemXM4G5UevpIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_lqX6yHyHEemXM4G5UevpIQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_BJlo8HyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BJlo8HyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#__vaxAHyHEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BJlo8XyIEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_BMkrgHyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BMkrgHyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#__vlwIHyHEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BMkrgXyIEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_BPhR0HyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_BPhR0HyIEemXM4G5UevpIQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#__vwIMHyHEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_BPhR0XyIEemXM4G5UevpIQ"/>
         </children>
@@ -1398,13 +1418,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_Xmw7IHHIEempmPy7tz2aIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_lqXTsXyHEemXM4G5UevpIQ" x="-1680" y="618" width="401"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_m750EHyHEemXM4G5UevpIQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_m750EHyHEemXM4G5UevpIQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_m76bIHyHEemXM4G5UevpIQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_m76bIXyHEemXM4G5UevpIQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_m76bInyHEemXM4G5UevpIQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_m76bI3yHEemXM4G5UevpIQ" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_r7WwoHyHEemXM4G5UevpIQ" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_r7WwoHyHEemXM4G5UevpIQ" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_Fpd7kHcMEemvX5OEKyKoZg"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_r7WwoXyHEemXM4G5UevpIQ"/>
         </children>
@@ -1414,15 +1434,15 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m76bJ3yHEemXM4G5UevpIQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_m77CMHyHEemXM4G5UevpIQ" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_r7X-wHyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_r7X-wHyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_rcVXYHHIEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_r7X-wXyHEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_r7X-wnyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_r7X-wnyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_5KJyQHHIEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_r7X-w3yHEemXM4G5UevpIQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_r7X-xHyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_r7X-xHyHEemXM4G5UevpIQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_l9aoQHIjEempmPy7tz2aIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_r7Yl0HyHEemXM4G5UevpIQ"/>
         </children>
@@ -1447,7 +1467,7 @@
     </styles>
     <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_i_X8kFYFEemKJasCEBKPhQ" name="css_stylesheets" eObjectListValue="_MmlU4B-7EempQZhnl_zCWg"/>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_fQhCAFYBEemKJasCEBKPhQ" type="InterfaceRealization_Edge" source="_QLducFYBEemKJasCEBKPhQ" target="_EhLRkFYBEemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_fQhCAFYBEemKJasCEBKPhQ" type="InterfaceRealization_Edge" source="_QLducFYBEemKJasCEBKPhQ" target="_EhLRkFYBEemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_fQhpEFYBEemKJasCEBKPhQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wS1WsFYFEemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_fQhpEVYBEemKJasCEBKPhQ" y="40"/>
@@ -1456,13 +1476,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wVCWIFYFEemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_fQhpE1YBEemKJasCEBKPhQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_fQhCAVYBEemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_fQhCAVYBEemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_fQX4EFYBEemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fQhCAlYBEemKJasCEBKPhQ" points="[940, 700, -643984, -643984]$[940, 524, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQsoMFYBEemKJasCEBKPhQ" id="(0.3831417624521073,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fQsoMVYBEemKJasCEBKPhQ" id="(0.4975124378109453,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_8zafMFYBEemKJasCEBKPhQ" type="InterfaceRealization_Edge" source="_4eyoUFYBEemKJasCEBKPhQ" target="_Dld3QFYBEemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_8zafMFYBEemKJasCEBKPhQ" type="InterfaceRealization_Edge" source="_4eyoUFYBEemKJasCEBKPhQ" target="_Dld3QFYBEemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_8zafM1YBEemKJasCEBKPhQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JJNXMFYCEemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_8zafNFYBEemKJasCEBKPhQ" y="39"/>
@@ -1471,37 +1491,37 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_JJaLgFYCEemKJasCEBKPhQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_8zafNlYBEemKJasCEBKPhQ" x="1" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_8zafMVYBEemKJasCEBKPhQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_8zafMVYBEemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_8zOR8FYBEemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8zafMlYBEemKJasCEBKPhQ" points="[-760, 440, -643984, -643984]$[-760, 344, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8zuoQFYBEemKJasCEBKPhQ" id="(0.4975124378109453,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8zuoQVYBEemKJasCEBKPhQ" id="(0.5235602094240838,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WNrLsFYFEemKJasCEBKPhQ" type="Comment_AnnotatedElementEdge" source="_UvDRkFYFEemKJasCEBKPhQ" target="_DwISUFYFEemKJasCEBKPhQ">
-      <styles xmi:type="notation:FontStyle" xmi:id="_WNrLsVYFEemKJasCEBKPhQ"/>
+    <edges xmi:type="notation:Connector" xmi:id="_WNrLsFYFEemKJasCEBKPhQ" type="Comment_AnnotatedElementEdge" source="_UvDRkFYFEemKJasCEBKPhQ" target="_DwISUFYFEemKJasCEBKPhQ" lineColor="0">
+      <styles xmi:type="notation:FontStyle" xmi:id="_WNrLsVYFEemKJasCEBKPhQ" fontName="Segoe UI"/>
       <element xsi:nil="true"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WNrLslYFEemKJasCEBKPhQ" points="[660, 357, -643984, -643984]$[530, 447, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WqHQEFYFEemKJasCEBKPhQ" id="(0.4444444444444444,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WqHQEVYFEemKJasCEBKPhQ" id="(0.4975124378109453,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_FIPxYHHIEempmPy7tz2aIQ" type="Association_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_A34vcHHIEempmPy7tz2aIQ">
+    <edges xmi:type="notation:Connector" xmi:id="_FIPxYHHIEempmPy7tz2aIQ" type="Association_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_A34vcHHIEempmPy7tz2aIQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_FIPxY3HIEempmPy7tz2aIQ" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MegX0HHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxZHHIEempmPy7tz2aIQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxZXHIEempmPy7tz2aIQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxZXHIEempmPy7tz2aIQ" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MhUbQHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxZnHIEempmPy7tz2aIQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxZ3HIEempmPy7tz2aIQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxZ3HIEempmPy7tz2aIQ" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MkCYEHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxaHHIEempmPy7tz2aIQ" x="10" y="42"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxaXHIEempmPy7tz2aIQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxaXHIEempmPy7tz2aIQ" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_MsKZUHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxanHIEempmPy7tz2aIQ" x="-60" y="8"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxa3HIEempmPy7tz2aIQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FIPxa3HIEempmPy7tz2aIQ" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M3EBwHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxbHHIEempmPy7tz2aIQ" x="10" y="82"/>
       </children>
@@ -1509,24 +1529,24 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_M8f7YHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FIPxbnHIEempmPy7tz2aIQ" x="-20" y="24"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_FIPxYXHIEempmPy7tz2aIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_FIPxYXHIEempmPy7tz2aIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_FEq48HHIEempmPy7tz2aIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FIPxYnHIEempmPy7tz2aIQ" points="[-200, 480, -643984, -643984]$[-380, 480, -643984, -643984]$[-380, 407, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FRi3UHHIEempmPy7tz2aIQ" id="(0.0,0.2484472049689441)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FRi3UXHIEempmPy7tz2aIQ" id="(0.6299212598425197,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Sbmd0HHIEempmPy7tz2aIQ" type="Generalization_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_DwISUFYFEemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_Sbmd0HHIEempmPy7tz2aIQ" type="Generalization_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_DwISUFYFEemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Sbmd03HIEempmPy7tz2aIQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_TGnJsHHIEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Sbmd1HHIEempmPy7tz2aIQ" x="-920" y="-160"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Sbmd0XHIEempmPy7tz2aIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Sbmd0XHIEempmPy7tz2aIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_SYuI8HHIEempmPy7tz2aIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sbmd0nHIEempmPy7tz2aIQ" points="[201, 480, -643984, -643984]$[400, 480, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sk-cQHHIEempmPy7tz2aIQ" id="(1.0,0.2484472049689441)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Sk-cQXHIEempmPy7tz2aIQ" id="(0.0,0.38461538461538464)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_irCg4HHIEempmPy7tz2aIQ" type="InterfaceRealization_Edge" source="_O_2vsHHIEempmPy7tz2aIQ" target="_hB-GwHHHEempmPy7tz2aIQ">
+    <edges xmi:type="notation:Connector" xmi:id="_irCg4HHIEempmPy7tz2aIQ" type="InterfaceRealization_Edge" source="_O_2vsHHIEempmPy7tz2aIQ" target="_hB-GwHHHEempmPy7tz2aIQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_irDvAHHIEempmPy7tz2aIQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_VNObcHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_irDvAXHIEempmPy7tz2aIQ" y="40"/>
@@ -1535,66 +1555,66 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_VQxesHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_irDvA3HIEempmPy7tz2aIQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_irCg4XHIEempmPy7tz2aIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_irCg4XHIEempmPy7tz2aIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_ioLaIHHIEempmPy7tz2aIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_irCg4nHIEempmPy7tz2aIQ" points="[80, 680, -643984, -643984]$[80, 599, -643984, -643984]$[0, 599, -643984, -643984]$[0, 541, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0h0EHHIEempmPy7tz2aIQ" id="(0.49875311720698257,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_i0h0EXHIEempmPy7tz2aIQ" id="(0.49875311720698257,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_X4RFYHHJEempmPy7tz2aIQ" type="Generalization_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_B6qiUFYBEemKJasCEBKPhQ">
+    <edges xmi:type="notation:Connector" xmi:id="_X4RFYHHJEempmPy7tz2aIQ" type="Generalization_Edge" source="_hB-GwHHHEempmPy7tz2aIQ" target="_B6qiUFYBEemKJasCEBKPhQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_X4RFY3HJEempmPy7tz2aIQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Z0W-oHHJEempmPy7tz2aIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_X4RFZHHJEempmPy7tz2aIQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_X4RFYXHJEempmPy7tz2aIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_X4RFYXHJEempmPy7tz2aIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_X0_u8HHJEempmPy7tz2aIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4RFYnHJEempmPy7tz2aIQ" points="[0, 440, -643984, -643984]$[0, 344, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBzb4HHJEempmPy7tz2aIQ" id="(0.49875311720698257,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBzb4XHJEempmPy7tz2aIQ" id="(0.49875311720698257,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_i09hUHWLEemQUasExi-pKA" type="Generalization_Edge" source="_4eyoUFYBEemKJasCEBKPhQ" target="_jMMLAHWKEemQUasExi-pKA">
+    <edges xmi:type="notation:Connector" xmi:id="_i09hUHWLEemQUasExi-pKA" type="Generalization_Edge" source="_4eyoUFYBEemKJasCEBKPhQ" target="_jMMLAHWKEemQUasExi-pKA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_i0-IYHWLEemQUasExi-pKA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_jpsJ4HWLEemQUasExi-pKA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_i0-IYXWLEemQUasExi-pKA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_i09hUXWLEemQUasExi-pKA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_i09hUXWLEemQUasExi-pKA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_iw5gsHWLEemQUasExi-pKA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_i09hUnWLEemQUasExi-pKA" points="[-860, 480, -643984, -643984]$[-1080, 480, -643984, -643984]$[-1080, 343, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jJLd0HWLEemQUasExi-pKA" id="(0.0,0.3883495145631068)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jJME4HWLEemQUasExi-pKA" id="(0.4986149584487535,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_op4tUHWLEemQUasExi-pKA" type="Generalization_Edge" source="_O_2vsHHIEempmPy7tz2aIQ" target="_jMMLAHWKEemQUasExi-pKA">
+    <edges xmi:type="notation:Connector" xmi:id="_op4tUHWLEemQUasExi-pKA" type="Generalization_Edge" source="_O_2vsHHIEempmPy7tz2aIQ" target="_jMMLAHWKEemQUasExi-pKA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_op4tU3WLEemQUasExi-pKA" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_op4tVHWLEemQUasExi-pKA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_op4tUXWLEemQUasExi-pKA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_op4tUXWLEemQUasExi-pKA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_omFLYHWLEemQUasExi-pKA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_op4tUnWLEemQUasExi-pKA" points="[-200, 760, -643984, -643984]$[-1080, 343, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_o_NdEHWLEemQUasExi-pKA" id="(0.0,0.6611570247933884)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_o_NdEXWLEemQUasExi-pKA" id="(0.4986149584487535,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Qp-cYHyCEemXM4G5UevpIQ" type="Generalization_Edge" source="_QLducFYBEemKJasCEBKPhQ" target="_eHUnwHyBEemXM4G5UevpIQ">
+    <edges xmi:type="notation:Connector" xmi:id="_Qp-cYHyCEemXM4G5UevpIQ" type="Generalization_Edge" source="_QLducFYBEemKJasCEBKPhQ" target="_eHUnwHyBEemXM4G5UevpIQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Qp_DcHyCEemXM4G5UevpIQ" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Qp_DcXyCEemXM4G5UevpIQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Qp-cYXyCEemXM4G5UevpIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Qp-cYXyCEemXM4G5UevpIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_Qm2P4HyCEemXM4G5UevpIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Qp-cYnyCEemXM4G5UevpIQ" points="[1060, 700, -643984, -643984]$[1300, 539, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QzVzwHyCEemXM4G5UevpIQ" id="(0.842911877394636,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QzVzwXyCEemXM4G5UevpIQ" id="(0.4584527220630373,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_tZoFcHyHEemXM4G5UevpIQ" type="Generalization_Edge" source="_lqXTsHyHEemXM4G5UevpIQ" target="_YszN4HyDEemXM4G5UevpIQ">
+    <edges xmi:type="notation:Connector" xmi:id="_tZoFcHyHEemXM4G5UevpIQ" type="Generalization_Edge" source="_lqXTsHyHEemXM4G5UevpIQ" target="_YszN4HyDEemXM4G5UevpIQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_tZosgHyHEemXM4G5UevpIQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_wWsTgHyHEemXM4G5UevpIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_tZosgXyHEemXM4G5UevpIQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_tZoFcXyHEemXM4G5UevpIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_tZoFcXyHEemXM4G5UevpIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_tWSdkHyHEemXM4G5UevpIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tZoFcnyHEemXM4G5UevpIQ" points="[-1480, 618, -643984, -643984]$[-1480, 361, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjyuEHyHEemXM4G5UevpIQ" id="(0.49875311720698257,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tjyuEXyHEemXM4G5UevpIQ" id="(0.49875311720698257,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_1R30EHyHEemXM4G5UevpIQ" type="InterfaceRealization_Edge" source="_lqXTsHyHEemXM4G5UevpIQ" target="_m750EHyHEemXM4G5UevpIQ">
+    <edges xmi:type="notation:Connector" xmi:id="_1R30EHyHEemXM4G5UevpIQ" type="InterfaceRealization_Edge" source="_lqXTsHyHEemXM4G5UevpIQ" target="_m750EHyHEemXM4G5UevpIQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1R30E3yHEemXM4G5UevpIQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1xDqcHyHEemXM4G5UevpIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1R30FHyHEemXM4G5UevpIQ" y="40"/>
@@ -1603,7 +1623,7 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_10HlgHyHEemXM4G5UevpIQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1R30FnyHEemXM4G5UevpIQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_1R30EXyHEemXM4G5UevpIQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_1R30EXyHEemXM4G5UevpIQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_gssk4HHIEempmPy7tz2aIQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1R30EnyHEemXM4G5UevpIQ" points="[-1680, 680, -643984, -643984]$[-1760, 680, -643984, -643984]$[-1760, 550, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1t8FAHyHEemXM4G5UevpIQ" id="(0.0,0.484375)"/>
@@ -1611,17 +1631,17 @@
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_ZgvV0HyPEem_s8OKqzIaBA" type="PapyrusUMLClassDiagram" name="ListTemplateDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_tvUH8HyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_tvUH8HyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_tvV9IHyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_tvV9IXyPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_tvV9InyPEem_s8OKqzIaBA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_tvWkMHyPEem_s8OKqzIaBA" type="Interface_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_c_2PEHyREemAGJlsH38HbQ" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_c_2PEHyREemAGJlsH38HbQ" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_WF4VIHxmEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_c_2PEXyREemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_3KkTcH0pEemhFY7gIV8PXA" type="Property_InterfaceAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_3KkTcH0pEemhFY7gIV8PXA" type="Property_InterfaceAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_3JCCYH0pEemhFY7gIV8PXA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_3KkTcX0pEemhFY7gIV8PXA"/>
         </children>
@@ -1631,11 +1651,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tvWkNHyPEem_s8OKqzIaBA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_tvWkNXyPEem_s8OKqzIaBA" type="Interface_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_c_22IHyREemAGJlsH38HbQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_c_22IHyREemAGJlsH38HbQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_jwo08HxmEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_c_22IXyREemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_c_22InyREemAGJlsH38HbQ" type="Operation_InterfaceOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_c_22InyREemAGJlsH38HbQ" type="Operation_InterfaceOperationLabel" fontName="Segoe UI" italic="true" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_jwuUgHxmEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_c_22I3yREemAGJlsH38HbQ"/>
         </children>
@@ -1653,7 +1673,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_w6AUYHxlEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tvUH8XyPEem_s8OKqzIaBA" x="660" y="-180" width="281" height="141"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_twHZMHyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_twHZMHyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_twHZMnyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_twHZM3yPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_twHZNHyPEem_s8OKqzIaBA" y="15"/>
@@ -1679,7 +1699,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_B9IeMHxmEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_twHZMXyPEem_s8OKqzIaBA" x="820" y="260" width="241"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_twZtEHyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_twZtEHyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_twZtEnyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_twZtE3yPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_twZtFHyPEem_s8OKqzIaBA" y="15"/>
@@ -1705,7 +1725,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_D4L1oHxmEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_twZtEXyPEem_s8OKqzIaBA" x="540" y="260" width="241"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_twudMHyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_twudMHyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_twvEQHyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_twvEQXyPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_twvEQnyPEem_s8OKqzIaBA" y="15"/>
@@ -1731,7 +1751,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_HfWwoHxmEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_twudMXyPEem_s8OKqzIaBA" x="540" y="580" width="521"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_txHewHyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_txHewHyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_txIF0HyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_txIF0XyPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_txIF0nyPEem_s8OKqzIaBA" y="15"/>
@@ -1757,7 +1777,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_KilREHxmEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txHewXyPEem_s8OKqzIaBA" x="540" y="760" width="241"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_txhucHyPEem_s8OKqzIaBA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_txhucHyPEem_s8OKqzIaBA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_txhucnyPEem_s8OKqzIaBA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_txhuc3yPEem_s8OKqzIaBA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_txiVgHyPEem_s8OKqzIaBA" y="15"/>
@@ -1783,13 +1803,13 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_NH5tgHxmEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_txhucXyPEem_s8OKqzIaBA" x="820" y="760" width="241"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_tybtYHyPEem_s8OKqzIaBA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_tybtYHyPEem_s8OKqzIaBA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_tybtYnyPEem_s8OKqzIaBA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_tycUcHyPEem_s8OKqzIaBA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_tycUcXyPEem_s8OKqzIaBA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_tycUcnyPEem_s8OKqzIaBA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_ggOBsHyVEemAGJlsH38HbQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ggOBsHyVEemAGJlsH38HbQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_N6B_gHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ggOBsXyVEemAGJlsH38HbQ"/>
         </children>
@@ -1799,11 +1819,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tycUdnyPEem_s8OKqzIaBA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_tycUd3yPEem_s8OKqzIaBA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_ggPP0HyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ggPP0HyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_Or0L8HyVEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ggPP0XyVEemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_ggP24HyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_ggP24HyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_OsL_YHyVEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_ggP24XyVEemAGJlsH38HbQ"/>
         </children>
@@ -1821,7 +1841,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_1JFSAHxnEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tybtYXyPEem_s8OKqzIaBA" x="720" y="460" width="361" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_ty8DsHyPEem_s8OKqzIaBA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_ty8DsHyPEem_s8OKqzIaBA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ty8DsnyPEem_s8OKqzIaBA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_ty8qwHyPEem_s8OKqzIaBA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ty8qwXyPEem_s8OKqzIaBA" y="15"/>
@@ -1833,11 +1853,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ty8qxnyPEem_s8OKqzIaBA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_ty8qx3yPEem_s8OKqzIaBA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_m2NI0HyUEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_m2NI0HyUEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_leiLQHyUEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_m2NI0XyUEemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_m233MHyUEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_m233MHyUEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_leo48HyUEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_m233MXyUEemAGJlsH38HbQ"/>
         </children>
@@ -1855,7 +1875,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_8RJg4HxnEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ty8DsXyPEem_s8OKqzIaBA" x="1200" y="260" width="361" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_tz5F8HyPEem_s8OKqzIaBA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_tz5F8HyPEem_s8OKqzIaBA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_tz5F8nyPEem_s8OKqzIaBA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_tz5F83yPEem_s8OKqzIaBA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_tz5F9HyPEem_s8OKqzIaBA" y="15"/>
@@ -1867,11 +1887,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tz5F-XyPEem_s8OKqzIaBA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_tz5tAHyPEem_s8OKqzIaBA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_kez-MHyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_kez-MHyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_jx5N0HyVEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_kez-MXyVEemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_kfodkHyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_kfodkHyVEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_jG0QgHyVEemAGJlsH38HbQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_kfodkXyVEemAGJlsH38HbQ"/>
         </children>
@@ -1889,13 +1909,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_ANYF4HxoEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tz5F8XyPEem_s8OKqzIaBA" x="540" y="960" width="241" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_t0rwIHyPEem_s8OKqzIaBA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_t0rwIHyPEem_s8OKqzIaBA" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_t0sXMHyPEem_s8OKqzIaBA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_t0sXMXyPEem_s8OKqzIaBA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_t0sXMnyPEem_s8OKqzIaBA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_t0sXM3yPEem_s8OKqzIaBA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_LMtkoHyREemAGJlsH38HbQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_LMtkoHyREemAGJlsH38HbQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_t-dzgHxpEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_LMtkoXyREemAGJlsH38HbQ"/>
         </children>
@@ -1905,11 +1925,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t0sXN3yPEem_s8OKqzIaBA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_t0sXOHyPEem_s8OKqzIaBA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_LzcNcHyREemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_LzcNcHyREemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_vdiZkHxpEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_LzcNcXyREemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_Lz9x4HyREemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Lz9x4HyREemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_AskRYHxqEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Lz9x4XyREemAGJlsH38HbQ"/>
         </children>
@@ -1927,7 +1947,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_ezvVwHxpEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t0rwIXyPEem_s8OKqzIaBA" x="1200" y="40" width="361" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_wvQOYHyQEemAGJlsH38HbQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_wvQOYHyQEemAGJlsH38HbQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_wvVG4HyQEemAGJlsH38HbQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_wvVG4XyQEemAGJlsH38HbQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_wvVG4nyQEemAGJlsH38HbQ" y="15"/>
@@ -1953,13 +1973,13 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wvQOYXyQEemAGJlsH38HbQ" x="320" y="-180" width="201" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_IAdEAHyREemAGJlsH38HbQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_IAdEAHyREemAGJlsH38HbQ" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_IAdrEHyREemAGJlsH38HbQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_IAdrEXyREemAGJlsH38HbQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_IAdrEnyREemAGJlsH38HbQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_IAdrE3yREemAGJlsH38HbQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_B7CIcHySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_B7CIcHySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_N6B_gHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_B7CIcXySEemAGJlsH38HbQ"/>
         </children>
@@ -1969,11 +1989,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IAdrF3yREemAGJlsH38HbQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_IAdrGHyREemAGJlsH38HbQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_B7CvgHySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_B7CvgHySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_N6G4AHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_B7CvgXySEemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_B7CvgnySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_B7CvgnySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_t7DsAHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_B7Cvg3ySEemAGJlsH38HbQ"/>
         </children>
@@ -1991,17 +2011,17 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_jMKV0HWKEemQUasExi-pKA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IAdEAXyREemAGJlsH38HbQ" x="1200" y="460" width="361" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_qX1HYHySEemAGJlsH38HbQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_qX1HYHySEemAGJlsH38HbQ" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_qX3joHySEemAGJlsH38HbQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_qX3joXySEemAGJlsH38HbQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qX3jonySEemAGJlsH38HbQ" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_qX3jo3ySEemAGJlsH38HbQ" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_tBeqMHySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_tBeqMHySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4k0sHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_tBeqMXySEemAGJlsH38HbQ"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_tBeqMnySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_tBeqMnySEemAGJlsH38HbQ" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4n4AHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_tBeqM3ySEemAGJlsH38HbQ"/>
         </children>
@@ -2011,7 +2031,7 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qX3jp3ySEemAGJlsH38HbQ"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_qX3jqHySEemAGJlsH38HbQ" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_tBfRQHySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_tBfRQHySEemAGJlsH38HbQ" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_j4q7UHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_tBfRQXySEemAGJlsH38HbQ"/>
         </children>
@@ -2029,7 +2049,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_eEKmEHyBEemXM4G5UevpIQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qX1HYXySEemAGJlsH38HbQ" x="100" y="960" width="321" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_D6LgQHyTEemAGJlsH38HbQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_D6LgQHyTEemAGJlsH38HbQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_D6N8gHyTEemAGJlsH38HbQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_D6N8gXyTEemAGJlsH38HbQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_D6N8gnyTEemAGJlsH38HbQ" y="15"/>
@@ -2055,7 +2075,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_DwGdIFYFEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6LgQXyTEemAGJlsH38HbQ" x="20" y="-180" width="161"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_LPfg8HyTEemAGJlsH38HbQ" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_LPfg8HyTEemAGJlsH38HbQ" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_LPgIAHyTEemAGJlsH38HbQ" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_LPgIAXyTEemAGJlsH38HbQ" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LPgIAnyTEemAGJlsH38HbQ" y="15"/>
@@ -2081,7 +2101,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_LPVI4HyTEemAGJlsH38HbQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LPfg8XyTEemAGJlsH38HbQ" x="20" y="20" width="281"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_f2lDQHyfEemAGJlsH38HbQ" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_f2lDQHyfEemAGJlsH38HbQ" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_f2lqUHyfEemAGJlsH38HbQ" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_f2lqUXyfEemAGJlsH38HbQ" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_f2lqUnyfEemAGJlsH38HbQ" y="15"/>
@@ -2113,46 +2133,46 @@
       <owner xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
     </styles>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_B1mEQHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_twZtEHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_B1mEQHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_twZtEHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_B1nSYHyREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YmisgHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_B1nSYXyREemAGJlsH38HbQ" x="160" y="-80"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_B1mEQXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_B1mEQXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_7vEkAHxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B1mEQnyREemAGJlsH38HbQ" points="[660, 260, -643984, -643984]$[660, 240, -643984, -643984]$[800, 240, -643984, -643984]$[800, 161, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YnJJcHyREemAGJlsH38HbQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YnJwgHyREemAGJlsH38HbQ" id="(0.4968944099378882,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_C7xCIHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_txhucHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_C7xCIHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_txhucHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_C7xCI3yREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_bJaR4HyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_C7xCJHyREemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_C7xCIXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_C7xCIXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_3Zm_oHxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C7xCInyREemAGJlsH38HbQ" points="[940, 760, -643984, -643984]$[940, 720, -643984, -643984]$[800, 720, -643984, -643984]$[800, 684, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bKAu0HyREemAGJlsH38HbQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bKAu0XyREemAGJlsH38HbQ" id="(0.4990403071017274,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_FNVcIHyREemAGJlsH38HbQ" type="Association_Edge" source="_twZtEHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_FNVcIHyREemAGJlsH38HbQ" type="Association_Edge" source="_twZtEHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_FNWDMHyREemAGJlsH38HbQ" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZxYH8HyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWDMXyREemAGJlsH38HbQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDMnyREemAGJlsH38HbQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDMnyREemAGJlsH38HbQ" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZxxwkHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWDM3yREemAGJlsH38HbQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDNHyREemAGJlsH38HbQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDNHyREemAGJlsH38HbQ" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZyRf0HyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWDNXyREemAGJlsH38HbQ" x="24" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDNnyREemAGJlsH38HbQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDNnyREemAGJlsH38HbQ" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Zys9oHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWDN3yREemAGJlsH38HbQ" x="-24" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDOHyREemAGJlsH38HbQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FNWDOHyREemAGJlsH38HbQ" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZzGmQHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWDOXyREemAGJlsH38HbQ" x="24" y="20"/>
       </children>
@@ -2160,13 +2180,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZzfAwHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FNWqQXyREemAGJlsH38HbQ" x="-244" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_FNVcIXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_FNVcIXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_9fdjkHxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_FNVcInyREemAGJlsH38HbQ" points="[660, 524, -643984, -643984]$[660, 600, -643984, -643984]$[660, 680, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z09AYXyREemAGJlsH38HbQ" id="(0.4979253112033195,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z09AYnyREemAGJlsH38HbQ" id="(0.23032629558541268,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Fms-YHyREemAGJlsH38HbQ" type="Association_Edge" source="_txHewHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_Fms-YHyREemAGJlsH38HbQ" type="Association_Edge" source="_txHewHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_onXr0HyREemAGJlsH38HbQ" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_onXr0XyREemAGJlsH38HbQ" key="visible" value="true"/>
       </eAnnotations>
@@ -2174,19 +2194,19 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F6xw8HyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtlcHyREemAGJlsH38HbQ" x="160" y="-60"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FmtlcXyREemAGJlsH38HbQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FmtlcXyREemAGJlsH38HbQ" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F7F6AHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtlcnyREemAGJlsH38HbQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Fmtlc3yREemAGJlsH38HbQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Fmtlc3yREemAGJlsH38HbQ" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F7aDEHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtldHyREemAGJlsH38HbQ" x="104" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_FmtldXyREemAGJlsH38HbQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_FmtldXyREemAGJlsH38HbQ" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F7wBUHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtldnyREemAGJlsH38HbQ" x="-104" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Fmtld3yREemAGJlsH38HbQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Fmtld3yREemAGJlsH38HbQ" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F8HNsHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtleHyREemAGJlsH38HbQ" x="104" y="20"/>
       </children>
@@ -2194,24 +2214,24 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_F8avsHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_FmtlenyREemAGJlsH38HbQ" x="-144" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Fms-YXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Fms-YXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#__XIP0HxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fms-YnyREemAGJlsH38HbQ" points="[540, 820, -643984, -643984]$[500, 820, -643984, -643984]$[500, 140, -643984, -643984]$[720, 140, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F8x8EHyREemAGJlsH38HbQ" id="(0.0,0.5769230769230769)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_F8yjIHyREemAGJlsH38HbQ" id="(0.0,0.851063829787234)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_IBQ8UHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_tybtYHyPEem_s8OKqzIaBA" target="_IAdEAHyREemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_IBQ8UHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_tybtYHyPEem_s8OKqzIaBA" target="_IAdEAHyREemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_IBRjYHyREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8iFt0HyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_IBRjYXyREemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_IBQ8UXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IBQ8UXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_P362sHxpEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IBQ8UnyREemAGJlsH38HbQ" points="[1081, 500, -643984, -643984]$[1240, 500, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ikO8HyREemAGJlsH38HbQ" id="(1.0,0.39603960396039606)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ikO8XyREemAGJlsH38HbQ" id="(0.0,0.39603960396039606)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_IXUE0HyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_tybtYHyPEem_s8OKqzIaBA" target="_twZtEHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_IXUE0HyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_tybtYHyPEem_s8OKqzIaBA" target="_twZtEHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_IXUE03yREemAGJlsH38HbQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Zz3bQHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_IXUr4HyREemAGJlsH38HbQ" y="160"/>
@@ -2220,24 +2240,24 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Z0UuQHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_IXUr4nyREemAGJlsH38HbQ" y="180"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_IXUE0XyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_IXUE0XyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_u3I9YHxoEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IXUE0nyREemAGJlsH38HbQ" points="[740, 460, -643984, -643984]$[740, 364, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z08ZUHyREemAGJlsH38HbQ" id="(0.055401662049861494,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z09AYHyREemAGJlsH38HbQ" id="(0.8298755186721992,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JCX0AHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_ty8DsHyPEem_s8OKqzIaBA" target="_t0rwIHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_JCX0AHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_ty8DsHyPEem_s8OKqzIaBA" target="_t0rwIHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_JCYbEHyREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Mqt-QHySEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_JCYbEXyREemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_JCX0AXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_JCX0AXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_OEFFEHxqEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JCX0AnyREemAGJlsH38HbQ" points="[1380, 260, -643984, -643984]$[1380, 141, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MreMMHySEemAGJlsH38HbQ" id="(0.4986149584487535,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MreMMXySEemAGJlsH38HbQ" id="(0.4986149584487535,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_JXaP4HyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_ty8DsHyPEem_s8OKqzIaBA" target="_twHZMHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_JXaP4HyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_ty8DsHyPEem_s8OKqzIaBA" target="_twHZMHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_JXaP43yREemAGJlsH38HbQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZSBScHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_JXaP5HyREemAGJlsH38HbQ" y="40"/>
@@ -2246,13 +2266,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZSelcHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_JXa28XyREemAGJlsH38HbQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_JXaP4XyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_JXaP4XyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_vWnHoHxoEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JXaP4nyREemAGJlsH38HbQ" points="[1200, 300, -643984, -643984]$[1061, 300, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZS7RYHyREemAGJlsH38HbQ" id="(0.0,0.39603960396039606)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZS7RYXyREemAGJlsH38HbQ" id="(1.0,0.38461538461538464)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_KLn7EHyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_tz5F8HyPEem_s8OKqzIaBA" target="_txHewHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_KLn7EHyREemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_tz5F8HyPEem_s8OKqzIaBA" target="_txHewHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_onYS4HyREemAGJlsH38HbQ" source="PapyrusCSSForceValue">
         <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_onYS4XyREemAGJlsH38HbQ" key="visible" value="true"/>
       </eAnnotations>
@@ -2264,46 +2284,46 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_NRFQIHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_KLoiI3yREemAGJlsH38HbQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_KLn7EXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_KLn7EXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_vzIrkHxoEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KLn7EnyREemAGJlsH38HbQ" points="[660, 960, -643984, -643984]$[660, 864, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NRjxQHyREemAGJlsH38HbQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NRjxQXyREemAGJlsH38HbQ" id="(0.4979253112033195,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_pnGqgHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_txHewHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_pnGqgHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_txHewHyPEem_s8OKqzIaBA" target="_twudMHyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_pnHRkHyREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qyTSUHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_pnHRkXyREemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_pnGqgXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_pnGqgXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_2ZxTQHxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pnGqgnyREemAGJlsH38HbQ" points="[660, 760, -643984, -643984]$[660, 720, -643984, -643984]$[800, 720, -643984, -643984]$[800, 684, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qzAc8HyREemAGJlsH38HbQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qzAc8XyREemAGJlsH38HbQ" id="(0.4990403071017274,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_y_9QQHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_twHZMHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_y_9QQHyREemAGJlsH38HbQ" type="Generalization_Edge" source="_twHZMHyPEem_s8OKqzIaBA" target="_f2lDQHyfEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_y_9QQ3yREemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_zfrSIHyREemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_y_9QRHyREemAGJlsH38HbQ" x="160" y="160"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_y_9QQXyREemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_y_9QQXyREemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_7QxecHxmEem8DZ1bmLpXuQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_y_9QQnyREemAGJlsH38HbQ" points="[940, 260, -643984, -643984]$[940, 240, -643984, -643984]$[800, 240, -643984, -643984]$[800, 161, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zgIlIHyREemAGJlsH38HbQ" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zgJMMHyREemAGJlsH38HbQ" id="(0.4968944099378882,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_uuFV8HySEemAGJlsH38HbQ" type="Generalization_Edge" source="_tz5F8HyPEem_s8OKqzIaBA" target="_qX1HYHySEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_uuFV8HySEemAGJlsH38HbQ" type="Generalization_Edge" source="_tz5F8HyPEem_s8OKqzIaBA" target="_qX1HYHySEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_uuFV83ySEemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_waOHoHySEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_uuFV9HySEemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_uuFV8XySEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_uuFV8XySEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_utW9MHySEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uuFV8nySEemAGJlsH38HbQ" points="[540, 1000, -643984, -643984]$[421, 1000, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uvaLoHySEemAGJlsH38HbQ" id="(0.0,0.39603960396039606)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uvaLoXySEemAGJlsH38HbQ" id="(1.0,0.39603960396039606)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_YblHwHyTEemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_wvQOYHyQEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_YblHwHyTEemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_wvQOYHyQEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_YblHw3yTEemAGJlsH38HbQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8EGB4HyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_YblHxHyTEemAGJlsH38HbQ" y="40"/>
@@ -2312,13 +2332,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8EzzkHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_YblHxnyTEemAGJlsH38HbQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_YblHwXyTEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_YblHwXyTEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_Ya2H8HyTEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YblHwnyTEemAGJlsH38HbQ" points="[240, 20, -643984, -643984]$[240, -140, -643984, -643984]$[320, -140, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YctJIHyTEemAGJlsH38HbQ" id="(0.7829181494661922,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YctJIXyTEemAGJlsH38HbQ" id="(0.0,0.39603960396039606)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_ZZ4jEHyTEemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_D6LgQHyTEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_ZZ4jEHyTEemAGJlsH38HbQ" type="InterfaceRealization_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_D6LgQHyTEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_ZZ4jE3yTEemAGJlsH38HbQ" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7XrAwHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ZZ4jFHyTEemAGJlsH38HbQ" y="40"/>
@@ -2327,30 +2347,30 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ZZfEHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_ZZ4jFnyTEemAGJlsH38HbQ" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_ZZ4jEXyTEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_ZZ4jEXyTEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_ZZKKUHyTEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZZ4jEnyTEemAGJlsH38HbQ" points="[240, 20, -643984, -643984]$[240, -140, -643984, -643984]$[181, -140, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZbBykHyTEemAGJlsH38HbQ" id="(0.7829181494661922,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZbBykXyTEemAGJlsH38HbQ" id="(1.0,0.38461538461538464)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_a4MUIHyTEemAGJlsH38HbQ" type="Association_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_f2lDQHyfEemAGJlsH38HbQ">
+    <edges xmi:type="notation:Connector" xmi:id="_a4MUIHyTEemAGJlsH38HbQ" type="Association_Edge" source="_LPfg8HyTEemAGJlsH38HbQ" target="_f2lDQHyfEemAGJlsH38HbQ" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_a4MUI3yTEemAGJlsH38HbQ" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v2k8IHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7MHyTEemAGJlsH38HbQ" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7MXyTEemAGJlsH38HbQ" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7MXyTEemAGJlsH38HbQ" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v3RfsHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7MnyTEemAGJlsH38HbQ" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7M3yTEemAGJlsH38HbQ" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7M3yTEemAGJlsH38HbQ" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v39cMHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7NHyTEemAGJlsH38HbQ" x="11" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7NXyTEemAGJlsH38HbQ" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7NXyTEemAGJlsH38HbQ" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v4rN4HyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7NnyTEemAGJlsH38HbQ" x="-11" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7N3yTEemAGJlsH38HbQ" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_a4M7N3yTEemAGJlsH38HbQ" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v5YYgHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7OHyTEemAGJlsH38HbQ" x="11" y="60"/>
       </children>
@@ -2358,29 +2378,29 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v6FjIHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a4M7OnyTEemAGJlsH38HbQ" x="-11" y="-60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a4MUIXyTEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a4MUIXyTEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_a3d7YHyTEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a4MUInyTEemAGJlsH38HbQ" points="[301, 60, -643984, -643984]$[720, 60, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a5bDMHyTEemAGJlsH38HbQ" id="(1.0,0.4)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a5bqQHyTEemAGJlsH38HbQ" id="(0.0,0.28368794326241137)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="__YF0IHydEemAGJlsH38HbQ" type="Generalization_Edge" source="_twudMHyPEem_s8OKqzIaBA" target="_tvUH8HyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="__YF0IHydEemAGJlsH38HbQ" type="Generalization_Edge" source="_twudMHyPEem_s8OKqzIaBA" target="_tvUH8HyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="__YF0I3ydEemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ADYz4HyeEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="__YGbMHydEemAGJlsH38HbQ" x="160" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="__YF0IXydEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="__YF0IXydEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#__XMcQHydEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__YF0InydEemAGJlsH38HbQ" points="[1061, 620, -643984, -643984]$[1680, 620, -643984, -643984]$[1680, -120, -643984, -643984]$[941, -120, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__ZzEUHydEemAGJlsH38HbQ" id="(1.0,0.38461538461538464)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__ZzEUXydEemAGJlsH38HbQ" id="(1.0,0.425531914893617)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_q1rOEHyfEemAGJlsH38HbQ" type="Generalization_Edge" source="_f2lDQHyfEemAGJlsH38HbQ" target="_tvUH8HyPEem_s8OKqzIaBA">
+    <edges xmi:type="notation:Connector" xmi:id="_q1rOEHyfEemAGJlsH38HbQ" type="Generalization_Edge" source="_f2lDQHyfEemAGJlsH38HbQ" target="_tvUH8HyPEem_s8OKqzIaBA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_q1r1IHyfEemAGJlsH38HbQ" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_v1tZcHyfEemAGJlsH38HbQ" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_q1r1IXyfEemAGJlsH38HbQ" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_q1rOEXyfEemAGJlsH38HbQ"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_q1rOEXyfEemAGJlsH38HbQ" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_q0p6YHyfEemAGJlsH38HbQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q1rOEnyfEemAGJlsH38HbQ" points="[800, 20, -643984, -643984]$[800, -39, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q3ek4HyfEemAGJlsH38HbQ" id="(0.4968944099378882,0.0)"/>
@@ -2388,13 +2408,13 @@
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_H9q_MJaPEem5SfdtnxxoKw" type="PapyrusUMLClassDiagram" name="FileTemplateDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_LlL4cJaPEem5SfdtnxxoKw" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_LlL4cJaPEem5SfdtnxxoKw" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_LlUbUJaPEem5SfdtnxxoKw" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_LlVCYJaPEem5SfdtnxxoKw" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_LlVCYZaPEem5SfdtnxxoKw" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_LlVCYpaPEem5SfdtnxxoKw" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_g5cgQJaPEem5SfdtnxxoKw" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_g5cgQJaPEem5SfdtnxxoKw" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="pathmap://MODEL2DOC/BUILTIN_TYPES/BuiltInTypes.uml#_B56cEJQVEemHKPZQudxUGA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_g5cgQZaPEem5SfdtnxxoKw"/>
         </children>
@@ -2418,7 +2438,7 @@
       <element xmi:type="uml:Class" href="pathmap://MODEL2DOC/BUILTIN_TYPES/BuiltInTypes.uml#_tL-NYJQUEemHKPZQudxUGA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LlL4cZaPEem5SfdtnxxoKw" x="600" y="280" width="241" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_OHHpsJaPEem5SfdtnxxoKw" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_OHHpsJaPEem5SfdtnxxoKw" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_OHKF8JaPEem5SfdtnxxoKw" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_OHKF8ZaPEem5SfdtnxxoKw" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OHKF8paPEem5SfdtnxxoKw" y="15"/>
@@ -2444,7 +2464,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OHHpsZaPEem5SfdtnxxoKw" y="280" width="241" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_OsEJ0JaPEem5SfdtnxxoKw" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_OsEJ0JaPEem5SfdtnxxoKw" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_OsEw4JaPEem5SfdtnxxoKw" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_OsFX8JaPEem5SfdtnxxoKw" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OsFX8ZaPEem5SfdtnxxoKw" y="15"/>
@@ -2470,13 +2490,13 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_e0vMUFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OsEJ0ZaPEem5SfdtnxxoKw" x="300" y="280" width="241" height="121"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_TMY6YJaPEem5SfdtnxxoKw" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_TMY6YJaPEem5SfdtnxxoKw" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_TMZhcJaPEem5SfdtnxxoKw" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_TMZhcZaPEem5SfdtnxxoKw" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TMZhcpaPEem5SfdtnxxoKw" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_TMZhc5aPEem5SfdtnxxoKw" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_hx2H4JaPEem5SfdtnxxoKw" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_hx2H4JaPEem5SfdtnxxoKw" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="pathmap://MODEL2DOC/BUILTIN_TYPES/BuiltInTypes.uml#_B56cEJQVEemHKPZQudxUGA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_hx2H4ZaPEem5SfdtnxxoKw"/>
         </children>
@@ -2506,37 +2526,37 @@
       <owner xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
     </styles>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_a51uQJaPEem5SfdtnxxoKw" type="Generalization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_LlL4cJaPEem5SfdtnxxoKw">
+    <edges xmi:type="notation:Connector" xmi:id="_a51uQJaPEem5SfdtnxxoKw" type="Generalization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_LlL4cJaPEem5SfdtnxxoKw" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_a52VUJaPEem5SfdtnxxoKw" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_a52VUZaPEem5SfdtnxxoKw" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_a51uQZaPEem5SfdtnxxoKw"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_a51uQZaPEem5SfdtnxxoKw" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_a5hlMJaPEem5SfdtnxxoKw"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_a51uQpaPEem5SfdtnxxoKw" points="[720, 540, -643984, -643984]$[720, 401, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a63B8JaPEem5SfdtnxxoKw" id="(0.4979253112033195,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a63pAJaPEem5SfdtnxxoKw" id="(0.4979253112033195,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eLByMJaPEem5SfdtnxxoKw" type="InterfaceRealization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_OsEJ0JaPEem5SfdtnxxoKw">
+    <edges xmi:type="notation:Connector" xmi:id="_eLByMJaPEem5SfdtnxxoKw" type="InterfaceRealization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_OsEJ0JaPEem5SfdtnxxoKw" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_eLByM5aPEem5SfdtnxxoKw" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_eLCZQJaPEem5SfdtnxxoKw" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_eLCZQZaPEem5SfdtnxxoKw" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_eLCZQpaPEem5SfdtnxxoKw" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eLByMZaPEem5SfdtnxxoKw"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eLByMZaPEem5SfdtnxxoKw" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_eKveUJaPEem5SfdtnxxoKw"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eLByMpaPEem5SfdtnxxoKw" points="[640, 540, -643984, -643984]$[420, 401, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eLqEUJaPEem5SfdtnxxoKw" id="(0.16597510373443983,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eLqEUZaPEem5SfdtnxxoKw" id="(0.4979253112033195,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_e4LMEJaPEem5SfdtnxxoKw" type="InterfaceRealization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_OHHpsJaPEem5SfdtnxxoKw">
+    <edges xmi:type="notation:Connector" xmi:id="_e4LMEJaPEem5SfdtnxxoKw" type="InterfaceRealization_Edge" source="_TMY6YJaPEem5SfdtnxxoKw" target="_OHHpsJaPEem5SfdtnxxoKw" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_e4LME5aPEem5SfdtnxxoKw" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_e4LMFJaPEem5SfdtnxxoKw" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_e4LMFZaPEem5SfdtnxxoKw" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_e4LMFpaPEem5SfdtnxxoKw" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_e4LMEZaPEem5SfdtnxxoKw"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_e4LMEZaPEem5SfdtnxxoKw" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_e32b8JaPEem5SfdtnxxoKw"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_e4LMEpaPEem5SfdtnxxoKw" points="[640, 540, -643984, -643984]$[120, 401, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_e4k0sJaPEem5SfdtnxxoKw" id="(0.16597510373443983,0.0)"/>
@@ -2544,7 +2564,7 @@
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_zOj1IJmqEemLBLfP25oZSA" type="PapyrusUMLClassDiagram" name="EMF-Navigation Diagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_1M-poJmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1M-poJmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1NFXUJmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1NFXUZmqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1NFXUpmqEemLBLfP25oZSA" y="15"/>
@@ -2570,7 +2590,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_lpLKAFX9EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1M-poZmqEemLBLfP25oZSA" x="240" y="60" width="521" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_1NcjsJmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1NcjsJmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1NcjspmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1Ncjs5mqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1NdKwJmqEemLBLfP25oZSA" y="15"/>
@@ -2596,7 +2616,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_Pau8cFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1NcjsZmqEemLBLfP25oZSA" x="240" y="220" width="201" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_1NwswJmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1NwswJmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1NwswpmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1Nwsw5mqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1NxT0JmqEemLBLfP25oZSA" y="15"/>
@@ -2622,7 +2642,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1NwswZmqEemLBLfP25oZSA" x="560" y="216" width="201" height="105"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_1OH5IJmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1OH5IJmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1OIgMJmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1OIgMZmqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1OIgMpmqEemLBLfP25oZSA" y="15"/>
@@ -2648,7 +2668,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_VnL3oFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1OH5IZmqEemLBLfP25oZSA" x="380" y="380" width="461" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_1OiI0JmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1OiI0JmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1OiI0pmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1OiI05mqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1Oiv4JmqEemLBLfP25oZSA" y="15"/>
@@ -2674,7 +2694,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_cjbRAFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1OiI0ZmqEemLBLfP25oZSA" x="240" y="540" width="221" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_1PAC4JmqEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_1PAC4JmqEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_1PAC4pmqEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_1PAC45mqEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_1PAC5JmqEemLBLfP25oZSA" y="15"/>
@@ -2700,7 +2720,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_e0vMUFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1PAC4ZmqEemLBLfP25oZSA" x="560" y="540" width="201" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_Tlp4QJmrEemLBLfP25oZSA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_Tlp4QJmrEemLBLfP25oZSA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Tlp4QpmrEemLBLfP25oZSA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_TlqfUJmrEemLBLfP25oZSA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_TlqfUZmrEemLBLfP25oZSA" y="15"/>
@@ -2726,7 +2746,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_XvipQFYUEemiOeXIb5muwQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tlp4QZmrEemLBLfP25oZSA" x="240" y="-100" width="601" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_obsTAJmrEemLBLfP25oZSA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_obsTAJmrEemLBLfP25oZSA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_obsTApmrEemLBLfP25oZSA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_obsTA5mrEemLBLfP25oZSA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_obsTBJmrEemLBLfP25oZSA" y="15"/>
@@ -2752,13 +2772,13 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_xzVjoDnLEem5-oyJMXJtFA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_obsTAZmrEemLBLfP25oZSA" x="-120" y="60"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_vtshAJmrEemLBLfP25oZSA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_vtshAJmrEemLBLfP25oZSA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_vttIEJmrEemLBLfP25oZSA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_vttIEZmrEemLBLfP25oZSA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_vttIEpmrEemLBLfP25oZSA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_vttIE5mrEemLBLfP25oZSA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_8IJ2kJmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_8IJ2kJmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_N6B_gHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_8IJ2kZmrEemLBLfP25oZSA"/>
         </children>
@@ -2768,11 +2788,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vttIF5mrEemLBLfP25oZSA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_vttvIJmrEemLBLfP25oZSA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_-vnBAJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_-vnBAJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_N6G4AHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_-vnBAZmrEemLBLfP25oZSA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_-vnoEJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_-vnoEJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_t7DsAHWLEemQUasExi-pKA"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_-vnoEZmrEemLBLfP25oZSA"/>
         </children>
@@ -2790,17 +2810,17 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_4exaMFYBEemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vtshAZmrEemLBLfP25oZSA" x="20" y="380" height="101"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_wZ-YMJmrEemLBLfP25oZSA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_wZ-YMJmrEemLBLfP25oZSA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_wZ-_QJmrEemLBLfP25oZSA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_wZ-_QZmrEemLBLfP25oZSA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_wZ-_QpmrEemLBLfP25oZSA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_wZ-_Q5mrEemLBLfP25oZSA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_9Z1g4JmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_9Z1g4JmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4k0sHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_9Z1g4ZmrEemLBLfP25oZSA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_9Z2H8JmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_9Z2H8JmrEemLBLfP25oZSA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_j4n4AHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_9Z2H8ZmrEemLBLfP25oZSA"/>
         </children>
@@ -2810,7 +2830,7 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wZ-_R5mrEemLBLfP25oZSA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_wZ-_SJmrEemLBLfP25oZSA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_9Z2vAJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_9Z2vAJmrEemLBLfP25oZSA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_j4q7UHyBEemXM4G5UevpIQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_9Z2vAZmrEemLBLfP25oZSA"/>
         </children>
@@ -2834,24 +2854,24 @@
       <owner xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
     </styles>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_Mi4ZEJmrEemLBLfP25oZSA" type="Association_Edge" source="_1NcjsJmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_Mi4ZEJmrEemLBLfP25oZSA" type="Association_Edge" source="_1NcjsJmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Mi5nMJmrEemLBLfP25oZSA" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k-oWQJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi5nMZmrEemLBLfP25oZSA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Mi5nMpmrEemLBLfP25oZSA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mi5nMpmrEemLBLfP25oZSA" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k-zVYJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi5nM5mrEemLBLfP25oZSA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Mi5nNJmrEemLBLfP25oZSA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mi5nNJmrEemLBLfP25oZSA" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k--7kJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi5nNZmrEemLBLfP25oZSA" x="20" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Mi6OQJmrEemLBLfP25oZSA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mi6OQJmrEemLBLfP25oZSA" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k_OMIJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi6OQZmrEemLBLfP25oZSA" x="-20" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_Mi6OQpmrEemLBLfP25oZSA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_Mi6OQpmrEemLBLfP25oZSA" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k_X9IJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi6OQ5mrEemLBLfP25oZSA" x="20" y="20"/>
       </children>
@@ -2859,52 +2879,52 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_k_kxcJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi6ORZmrEemLBLfP25oZSA" x="-20" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Mi4ZEZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Mi4ZEZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_xUBLEFX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mi4ZEpmrEemLBLfP25oZSA" points="[420, 321, -643984, -643984]$[420, 380, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_k-cwEJmrEemLBLfP25oZSA" id="(0.8955223880597015,1.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_gCGK0JmrEemLBLfP25oZSA" id="(0.08676789587852494,0.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_Mi8qgJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1NcjsJmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_Mi8qgJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1NcjsJmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Mi8qg5mrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_iM0V8JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Mi8qhJmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_Mi8qgZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_Mi8qgZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_qb4OkFX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mi8qgpmrEemLBLfP25oZSA" points="[340, 220, -643984, -643984]$[340, 161, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iMpW0JmrEemLBLfP25oZSA" id="(0.4975124378109453,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iMpW0ZmrEemLBLfP25oZSA" id="(0.19193857965451055,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_NeRDQJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1NwswJmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_NeRDQJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1NwswJmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_NeRqUJmrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_hSEk8JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_NeRqUZmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_NeRDQZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_NeRDQZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_sVYt4FX-EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NeRDQpmrEemLBLfP25oZSA" points="[660, 216, -643984, -643984]$[660, 161, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hR6z8JmrEemLBLfP25oZSA" id="(0.4975124378109453,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hR6z8ZmrEemLBLfP25oZSA" id="(0.8061420345489443,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_OZyQUJmrEemLBLfP25oZSA" type="Association_Edge" source="_1OiI0JmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_OZyQUJmrEemLBLfP25oZSA" type="Association_Edge" source="_1OiI0JmqEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_OZy3YJmrEemLBLfP25oZSA" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b_kwkJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZy3YZmrEemLBLfP25oZSA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OZy3YpmrEemLBLfP25oZSA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OZy3YpmrEemLBLfP25oZSA" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b_w90JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZy3Y5mrEemLBLfP25oZSA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OZzecJmrEemLBLfP25oZSA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OZzecJmrEemLBLfP25oZSA" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cAMboJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZzecZmrEemLBLfP25oZSA" x="75" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OZzecpmrEemLBLfP25oZSA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OZzecpmrEemLBLfP25oZSA" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cANCsJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZzec5mrEemLBLfP25oZSA" x="-75" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_OZzedJmrEemLBLfP25oZSA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_OZzedJmrEemLBLfP25oZSA" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cAO34JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZzedZmrEemLBLfP25oZSA" x="75" y="20"/>
       </children>
@@ -2912,74 +2932,74 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cAbFIJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_OZzed5mrEemLBLfP25oZSA" x="-75" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_OZyQUZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_OZyQUZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_ElNH4FX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OZyQUpmrEemLBLfP25oZSA" points="[240, 600, -643984, -643984]$[0, 600, -643984, -643984]$[0, 120, -643984, -643984]$[240, 120, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b_QngJmrEemLBLfP25oZSA" id="(0.0,0.594059405940594)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b_QngZmrEemLBLfP25oZSA" id="(0.0,0.594059405940594)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_PT5IIJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1PAC4JmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_PT5IIJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1PAC4JmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_PT6WQJmrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_bHPaYJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_PT6WQZmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_PT5IIZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_PT5IIZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CDgAIFX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_PT5IIpmrEemLBLfP25oZSA" points="[660, 540, -643984, -643984]$[660, 481, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGzVgJmrEemLBLfP25oZSA" id="(0.4975124378109453,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGz8kJmrEemLBLfP25oZSA" id="(0.6073752711496746,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WDYe8JmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1M-poJmqEemLBLfP25oZSA" target="_Tlp4QJmrEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_WDYe8JmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1M-poJmqEemLBLfP25oZSA" target="_Tlp4QJmrEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_WDYe85mrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YDQsAJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_WDYe9JmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WDYe8ZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_WDYe8ZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CSwiIFYVEemiOeXIb5muwQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WDYe8pmrEemLBLfP25oZSA" points="[500, 60, -643984, -643984]$[500, 10, -643984, -643984]$[700, 10, -643984, -643984]$[700, -39, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YD4XEJmrEemLBLfP25oZSA" id="(0.4990403071017274,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YD4XEZmrEemLBLfP25oZSA" id="(0.43261231281198004,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_WDZtEJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1OH5IJmqEemLBLfP25oZSA" target="_Tlp4QJmrEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_WDZtEJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1OH5IJmqEemLBLfP25oZSA" target="_Tlp4QJmrEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_WDZtE5mrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_YDkOAJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_WDZtFJmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_WDZtEZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_WDZtEZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_Htiv0FYVEemiOeXIb5muwQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WDZtEpmrEemLBLfP25oZSA" points="[800, 380, -643984, -643984]$[800, 1, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YD4XEpmrEemLBLfP25oZSA" id="(0.911062906724512,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YD4-IJmrEemLBLfP25oZSA" id="(0.9317803660565723,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_mf8_EJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1OiI0JmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_mf8_EJmrEemLBLfP25oZSA" type="Generalization_Edge" source="_1OiI0JmqEemLBLfP25oZSA" target="_1OH5IJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_mf9mIJmrEemLBLfP25oZSA" type="Generalization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_m5h8sJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_mf9mIZmrEemLBLfP25oZSA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_mf8_EZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_mf8_EZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_CvcgIFX_EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mf8_EpmrEemLBLfP25oZSA" points="[440, 540, -643984, -643984]$[440, 481, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m5W9kJmrEemLBLfP25oZSA" id="(0.9049773755656109,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m5XkoJmrEemLBLfP25oZSA" id="(0.1301518438177874,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_qn-kYJmrEemLBLfP25oZSA" type="Association_Edge" source="_obsTAJmrEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_qn-kYJmrEemLBLfP25oZSA" type="Association_Edge" source="_obsTAJmrEemLBLfP25oZSA" target="_1M-poJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_qn_LcJmrEemLBLfP25oZSA" type="Association_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1hu8MJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_LcZmrEemLBLfP25oZSA" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qn_ygJmrEemLBLfP25oZSA" type="Association_NameLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qn_ygJmrEemLBLfP25oZSA" visible="false" type="Association_NameLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1iETYJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_ygZmrEemLBLfP25oZSA" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qn_ygpmrEemLBLfP25oZSA" type="Association_TargetRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qn_ygpmrEemLBLfP25oZSA" visible="false" type="Association_TargetRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1ibfwJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_yg5mrEemLBLfP25oZSA" x="24" y="-20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qn_yhJmrEemLBLfP25oZSA" type="Association_SourceRoleLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qn_yhJmrEemLBLfP25oZSA" visible="false" type="Association_SourceRoleLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1itzoJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_yhZmrEemLBLfP25oZSA" x="-24" y="20"/>
       </children>
-      <children xmi:type="notation:DecorationNode" xmi:id="_qn_yhpmrEemLBLfP25oZSA" type="Association_SourceMultiplicityLabel">
+      <children xmi:type="notation:DecorationNode" xmi:id="_qn_yhpmrEemLBLfP25oZSA" visible="false" type="Association_SourceMultiplicityLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1jCjwJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_yh5mrEemLBLfP25oZSA" x="24" y="20"/>
       </children>
@@ -2987,13 +3007,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1jR0UJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_qn_yiZmrEemLBLfP25oZSA" x="-24" y="-20"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_qn-kYZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_qn-kYZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:Association" href="documentstructuretemplate.uml#_omOJ8FX9EemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qn-kYpmrEemLBLfP25oZSA" points="[-20, 60, -643984, -643984]$[120, 60, -643984, -643984]$[120, 80, -643984, -643984]$[240, 80, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1jmkcJmrEemLBLfP25oZSA" id="(1.0,0.2)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1jmkcZmrEemLBLfP25oZSA" id="(0.0,0.19801980198019803)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_xph7kJmrEemLBLfP25oZSA" type="InterfaceRealization_Edge" source="_wZ-YMJmrEemLBLfP25oZSA" target="_1OiI0JmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_xph7kJmrEemLBLfP25oZSA" type="InterfaceRealization_Edge" source="_wZ-YMJmrEemLBLfP25oZSA" target="_1OiI0JmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_xpjJsJmrEemLBLfP25oZSA" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yDYmAJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xpjJsZmrEemLBLfP25oZSA" y="40"/>
@@ -3002,13 +3022,13 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yDqS0JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_xpjJs5mrEemLBLfP25oZSA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_xph7kZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_xph7kZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_fQX4EFYBEemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xph7kpmrEemLBLfP25oZSA" points="[340, 720, -643984, -643984]$[340, 641, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yD_C8JmrEemLBLfP25oZSA" id="(0.24937655860349128,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yD_qAJmrEemLBLfP25oZSA" id="(0.45248868778280543,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_z6XVwJmrEemLBLfP25oZSA" type="InterfaceRealization_Edge" source="_vtshAJmrEemLBLfP25oZSA" target="_1NcjsJmqEemLBLfP25oZSA">
+    <edges xmi:type="notation:Connector" xmi:id="_z6XVwJmrEemLBLfP25oZSA" type="InterfaceRealization_Edge" source="_vtshAJmrEemLBLfP25oZSA" target="_1NcjsJmqEemLBLfP25oZSA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_z6X80JmrEemLBLfP25oZSA" type="InterfaceRealization_StereotypeLabel">
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_22qu0JmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_z6X80ZmrEemLBLfP25oZSA" y="40"/>
@@ -3017,7 +3037,7 @@
         <styles xmi:type="notation:BooleanValueStyle" xmi:id="_229CsJmrEemLBLfP25oZSA" name="IS_UPDATED_POSITION" booleanValue="true"/>
         <layoutConstraint xmi:type="notation:Location" xmi:id="_z6X805mrEemLBLfP25oZSA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_z6XVwZmrEemLBLfP25oZSA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_z6XVwZmrEemLBLfP25oZSA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_8zOR8FYBEemKJasCEBKPhQ"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_z6XVwpmrEemLBLfP25oZSA" points="[100, 380, -643984, -643984]$[100, 240, -643984, -643984]$[240, 240, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_23PWkJmrEemLBLfP25oZSA" id="(0.48338368580060426,0.0)"/>
@@ -3025,13 +3045,13 @@
     </edges>
   </notation:Diagram>
   <notation:Diagram xmi:id="_9rTsYKYuEeq9XbSh8ucBMA" type="PapyrusUMLClassDiagram" name="ParagraphTemplateDiagram" measurementUnit="Pixel">
-    <children xmi:type="notation:Shape" xmi:id="_CTpwgKYvEeq9XbSh8ucBMA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_CTpwgKYvEeq9XbSh8ucBMA" type="Class_Shape" fontName="Segoe UI" italic="true" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_CTuB8KYvEeq9XbSh8ucBMA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_CTuB8aYvEeq9XbSh8ucBMA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_CTuB8qYvEeq9XbSh8ucBMA" y="15"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_CTupAKYvEeq9XbSh8ucBMA" type="Class_AttributeCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Do2B0KYvEeq9XbSh8ucBMA" type="Property_ClassAttributeLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Do2B0KYvEeq9XbSh8ucBMA" type="Property_ClassAttributeLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Property" href="documentstructuretemplate.uml#_t-dzgHxpEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Do2B0aYvEeq9XbSh8ucBMA"/>
         </children>
@@ -3041,11 +3061,11 @@
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CTupBKYvEeq9XbSh8ucBMA"/>
       </children>
       <children xmi:type="notation:BasicCompartment" xmi:id="_CTupBaYvEeq9XbSh8ucBMA" type="Class_OperationCompartment">
-        <children xmi:type="notation:Shape" xmi:id="_Do2o4KYvEeq9XbSh8ucBMA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Do2o4KYvEeq9XbSh8ucBMA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_vdiZkHxpEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Do2o4aYvEeq9XbSh8ucBMA"/>
         </children>
-        <children xmi:type="notation:Shape" xmi:id="_Do3P8KYvEeq9XbSh8ucBMA" type="Operation_ClassOperationLabel">
+        <children xmi:type="notation:Shape" xmi:id="_Do3P8KYvEeq9XbSh8ucBMA" type="Operation_ClassOperationLabel" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
           <element xmi:type="uml:Operation" href="documentstructuretemplate.uml#_AskRYHxqEem8DZ1bmLpXuQ"/>
           <layoutConstraint xmi:type="notation:Location" xmi:id="_Do3P8aYvEeq9XbSh8ucBMA"/>
         </children>
@@ -3063,7 +3083,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_ezvVwHxpEem8DZ1bmLpXuQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CTpwgaYvEeq9XbSh8ucBMA" x="200" y="20"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_HIFI0KYvEeq9XbSh8ucBMA" type="Class_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_HIFI0KYvEeq9XbSh8ucBMA" type="Class_Shape" fontName="Segoe UI" fillColor="14538691" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_HIFv4KYvEeq9XbSh8ucBMA" type="Class_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_HIFv4aYvEeq9XbSh8ucBMA" type="Class_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_HIFv4qYvEeq9XbSh8ucBMA" y="15"/>
@@ -3089,7 +3109,7 @@
       <element xmi:type="uml:Class" href="documentstructuretemplate.uml#_HHYlQKYvEeq9XbSh8ucBMA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HIFI0aYvEeq9XbSh8ucBMA" x="200" y="280" width="421"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_c0E7MKYvEeq9XbSh8ucBMA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_c0E7MKYvEeq9XbSh8ucBMA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_c0E7MqYvEeq9XbSh8ucBMA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_c0E7M6YvEeq9XbSh8ucBMA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_c0E7NKYvEeq9XbSh8ucBMA" y="15"/>
@@ -3115,7 +3135,7 @@
       <element xmi:type="uml:Interface" href="documentstructuretemplate.uml#_R99HIFX-EemKJasCEBKPhQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c0E7MaYvEeq9XbSh8ucBMA" x="888" y="27"/>
     </children>
-    <children xmi:type="notation:Shape" xmi:id="_VznSsKY7Eeq6fpXVt16RgA" type="Interface_Shape">
+    <children xmi:type="notation:Shape" xmi:id="_VznSsKY7Eeq6fpXVt16RgA" type="Interface_Shape" fontName="Segoe UI" fillColor="14012867" transparency="0" gradient="16777215, -1, 0" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_Vzog0KY7Eeq6fpXVt16RgA" type="Interface_NameLabel"/>
       <children xmi:type="notation:DecorationNode" xmi:id="_Vzog0aY7Eeq6fpXVt16RgA" type="Interface_FloatingNameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_Vzog0qY7Eeq6fpXVt16RgA" y="15"/>
@@ -3147,37 +3167,37 @@
       <owner xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
     </styles>
     <element xmi:type="uml:Model" href="documentstructuretemplate.uml#_qN46sB17Eem3fboELVTtYQ"/>
-    <edges xmi:type="notation:Connector" xmi:id="_MPr70KYvEeq9XbSh8ucBMA" type="Generalization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_CTpwgKYvEeq9XbSh8ucBMA">
+    <edges xmi:type="notation:Connector" xmi:id="_MPr70KYvEeq9XbSh8ucBMA" type="Generalization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_CTpwgKYvEeq9XbSh8ucBMA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_MPr706YvEeq9XbSh8ucBMA" type="Generalization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_MPr71KYvEeq9XbSh8ucBMA" y="40"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_MPr70aYvEeq9XbSh8ucBMA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_MPr70aYvEeq9XbSh8ucBMA" fontName="Segoe UI"/>
       <element xmi:type="uml:Generalization" href="documentstructuretemplate.uml#_MPhjwKYvEeq9XbSh8ucBMA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MPr70qYvEeq9XbSh8ucBMA" points="[400, 280, -643984, -643984]$[400, 159, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MP-2wKYvEeq9XbSh8ucBMA" id="(0.4750593824228028,0.0)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MP-2waYvEeq9XbSh8ucBMA" id="(0.4694835680751174,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_eHHQYKYvEeq9XbSh8ucBMA" type="InterfaceRealization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_c0E7MKYvEeq9XbSh8ucBMA">
+    <edges xmi:type="notation:Connector" xmi:id="_eHHQYKYvEeq9XbSh8ucBMA" type="InterfaceRealization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_c0E7MKYvEeq9XbSh8ucBMA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_eHHQY6YvEeq9XbSh8ucBMA" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_eHHQZKYvEeq9XbSh8ucBMA" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_eHHQZaYvEeq9XbSh8ucBMA" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_eHHQZqYvEeq9XbSh8ucBMA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_eHHQYaYvEeq9XbSh8ucBMA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_eHHQYaYvEeq9XbSh8ucBMA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_eG_UkKYvEeq9XbSh8ucBMA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eHHQYqYvEeq9XbSh8ucBMA" points="[621, 340, -643984, -643984]$[980, 142, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eHWg8KYvEeq9XbSh8ucBMA" id="(1.0,0.6)"/>
       <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eHXIAKYvEeq9XbSh8ucBMA" id="(0.5054945054945055,1.0)"/>
     </edges>
-    <edges xmi:type="notation:Connector" xmi:id="_X_91gKY7Eeq6fpXVt16RgA" type="InterfaceRealization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_VznSsKY7Eeq6fpXVt16RgA">
+    <edges xmi:type="notation:Connector" xmi:id="_X_91gKY7Eeq6fpXVt16RgA" type="InterfaceRealization_Edge" source="_HIFI0KYvEeq9XbSh8ucBMA" target="_VznSsKY7Eeq6fpXVt16RgA" routing="Rectilinear" lineColor="0">
       <children xmi:type="notation:DecorationNode" xmi:id="_X_91g6Y7Eeq6fpXVt16RgA" type="InterfaceRealization_StereotypeLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_X_91hKY7Eeq6fpXVt16RgA" y="40"/>
       </children>
       <children xmi:type="notation:DecorationNode" xmi:id="_X_91haY7Eeq6fpXVt16RgA" type="InterfaceRealization_NameLabel">
         <layoutConstraint xmi:type="notation:Location" xmi:id="_X_91hqY7Eeq6fpXVt16RgA" y="60"/>
       </children>
-      <styles xmi:type="notation:FontStyle" xmi:id="_X_91gaY7Eeq6fpXVt16RgA"/>
+      <styles xmi:type="notation:FontStyle" xmi:id="_X_91gaY7Eeq6fpXVt16RgA" fontName="Segoe UI"/>
       <element xmi:type="uml:InterfaceRealization" href="documentstructuretemplate.uml#_X_uk8KY7Eeq6fpXVt16RgA"/>
       <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X_91gqY7Eeq6fpXVt16RgA" points="[200, 340, -643984, -643984]$[20, 135, -643984, -643984]"/>
       <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YASloKY7Eeq6fpXVt16RgA" id="(0.0,0.6)"/>
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.uml b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.uml
index 5d56235..9b61e7b 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.uml
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.uml
@@ -261,6 +261,14 @@
         <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZRrHoI29EemcPPjkzx166Q"/>
         <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ZRrHoY29EemcPPjkzx166Q" value="1"/>
       </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lSORUE9WEeuqJeHY8wIZrg" name="generateIfEmpty">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
+        <defaultValue xmi:type="uml:LiteralBoolean" xmi:id="_y7SIAE9WEeuqJeHY8wIZrg"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0tIgIE9WEeuqJeHY8wIZrg" name="defaultTextIfEmpty">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
+        <defaultValue xmi:type="uml:LiteralString" xmi:id="_6-3j8E9WEeuqJeHY8wIZrg" value="N/A"/>
+      </ownedAttribute>
       <ownedOperation xmi:type="uml:Operation" xmi:id="__h3MoHV1EemQUasExi-pKA" name="buildPartTemplateTitle">
         <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekdWMHYfEemXTvAEXt5Ttw" source="http://www.eclipse.org/emf/2002/GenModel">
           <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_ekdWMXYfEemXTvAEXt5Ttw" key="body" value="return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations.INSTANCE.buildPartTemplateTitle(this,context);"/>
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/DocumentStructureTemplatePackage.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/DocumentStructureTemplatePackage.java
index 49e97e3..d78c248 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/DocumentStructureTemplatePackage.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/DocumentStructureTemplatePackage.java
@@ -594,6 +594,26 @@
 	int IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY = 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = 5;
+
+	/**
 	 * The number of structural features of the '<em>IBody Section Part Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -601,7 +621,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int IBODY_SECTION_PART_TEMPLATE_FEATURE_COUNT = 4;
+	int IBODY_SECTION_PART_TEMPLATE_FEATURE_COUNT = 6;
 
 	/**
 	 * The operation id for the '<em>Build Part Template Title</em>' operation.
@@ -685,6 +705,26 @@
 	int IBODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IBODY_PART_TEMPLATE__GENERATE_IF_EMPTY = IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IBODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The number of structural features of the '<em>IBody Part Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -776,6 +816,26 @@
 	int ICOMPOSED_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = IBODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ICOMPOSED_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY = IBODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ICOMPOSED_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = IBODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Sub Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -877,6 +937,26 @@
 	int ISUB_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ISUB_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY = IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ISUB_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The number of structural features of the '<em>ISub Body Part Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -968,6 +1048,26 @@
 	int ILEAF_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = IBODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ILEAF_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY = IBODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ILEAF_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = IBODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The number of structural features of the '<em>ILeaf Body Part Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1059,6 +1159,26 @@
 	int ICOMPOSED_SUB_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = ISUB_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ICOMPOSED_SUB_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY = ISUB_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ICOMPOSED_SUB_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = ISUB_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1160,6 +1280,26 @@
 	int ILEAF_SUB_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = ISUB_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ILEAF_SUB_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY = ISUB_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ILEAF_SUB_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = ISUB_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The number of structural features of the '<em>ILeaf Sub Body Part Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1332,6 +1472,26 @@
 	int ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = ECLASS_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY = ECLASS_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = ECLASS_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1339,7 +1499,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE = ECLASS_TEMPLATE_FEATURE_COUNT + 4;
+	int ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE = ECLASS_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The number of structural features of the '<em>EClass Part Template</em>' class.
@@ -1349,7 +1509,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int ECLASS_PART_TEMPLATE_FEATURE_COUNT = ECLASS_TEMPLATE_FEATURE_COUNT + 5;
+	int ECLASS_PART_TEMPLATE_FEATURE_COUNT = ECLASS_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The operation id for the '<em>Is Matching Filter Rule</em>' operation.
@@ -1514,6 +1674,26 @@
 	int EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = EREFERENCE_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY = EREFERENCE_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = EREFERENCE_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Sub Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1521,7 +1701,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE = EREFERENCE_TEMPLATE_FEATURE_COUNT + 4;
+	int EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE = EREFERENCE_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The number of structural features of the '<em>EReference Part Template</em>' class.
@@ -1531,7 +1711,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_PART_TEMPLATE_FEATURE_COUNT = EREFERENCE_TEMPLATE_FEATURE_COUNT + 5;
+	int EREFERENCE_PART_TEMPLATE_FEATURE_COUNT = EREFERENCE_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The operation id for the '<em>Get EReference Values</em>' operation.
@@ -1666,6 +1846,26 @@
 	int ITABLE_VIEW__GENERATE_BRANCH_CONDITION = ILEAF_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITABLE_VIEW__GENERATE_IF_EMPTY = ILEAF_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int ITABLE_VIEW__DEFAULT_TEXT_IF_EMPTY = ILEAF_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Columns</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1888,6 +2088,26 @@
 	int EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION = EREFERENCE_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY = EREFERENCE_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY = EREFERENCE_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Columns</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1895,7 +2115,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_TABLE_VIEW__COLUMNS = EREFERENCE_TEMPLATE_FEATURE_COUNT + 4;
+	int EREFERENCE_TABLE_VIEW__COLUMNS = EREFERENCE_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Generate Row Header</b></em>' attribute.
@@ -1905,7 +2125,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER = EREFERENCE_TEMPLATE_FEATURE_COUNT + 5;
+	int EREFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER = EREFERENCE_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Generate Column Header</b></em>' attribute.
@@ -1915,7 +2135,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER = EREFERENCE_TEMPLATE_FEATURE_COUNT + 6;
+	int EREFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER = EREFERENCE_TEMPLATE_FEATURE_COUNT + 8;
 
 	/**
 	 * The number of structural features of the '<em>EReference Table View</em>' class.
@@ -1925,7 +2145,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EREFERENCE_TABLE_VIEW_FEATURE_COUNT = EREFERENCE_TEMPLATE_FEATURE_COUNT + 7;
+	int EREFERENCE_TABLE_VIEW_FEATURE_COUNT = EREFERENCE_TEMPLATE_FEATURE_COUNT + 9;
 
 	/**
 	 * The operation id for the '<em>Get EReference Values</em>' operation.
@@ -3112,6 +3332,26 @@
 	int TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION = ILEAF_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TREE_LIST_VIEW__GENERATE_IF_EMPTY = ILEAF_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY = ILEAF_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Root List Item Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3223,6 +3463,26 @@
 	int INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE_FEATURE_COUNT + 5;
+
+	/**
 	 * The number of structural features of the '<em>Insert File Template</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3230,7 +3490,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int INSERT_FILE_TEMPLATE_FEATURE_COUNT = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE_FEATURE_COUNT + 4;
+	int INSERT_FILE_TEMPLATE_FEATURE_COUNT = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE_FEATURE_COUNT + 6;
 
 	/**
 	 * The operation id for the '<em>Get File Path</em>' operation.
@@ -3243,6 +3503,16 @@
 	int INSERT_FILE_TEMPLATE___GET_FILE_PATH = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE___GET_FILE_PATH;
 
 	/**
+	 * The operation id for the '<em>Get File Accessor</em>' operation.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int INSERT_FILE_TEMPLATE___GET_FILE_ACCESSOR = BuiltInTypesPackage.DEFAULT_FILE_REFERENCE___GET_FILE_ACCESSOR;
+
+	/**
 	 * The operation id for the '<em>Build Part Template Title</em>' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3375,6 +3645,26 @@
 	int EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION = EATTRIBUTE_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY = EATTRIBUTE_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY = EATTRIBUTE_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The number of structural features of the '<em>EAttribute As Paragraph</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -3382,7 +3672,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int EATTRIBUTE_AS_PARAGRAPH_FEATURE_COUNT = EATTRIBUTE_TEMPLATE_FEATURE_COUNT + 4;
+	int EATTRIBUTE_AS_PARAGRAPH_FEATURE_COUNT = EATTRIBUTE_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The operation id for the '<em>Build EAttribute Value Label</em>' operation.
@@ -3797,6 +4087,30 @@
 	EReference getIBodySectionPartTemplate_GenerateBranchCondition();
 
 	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#isGenerateIfEmpty <em>Generate If Empty</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Generate If Empty</em>'.
+	 * @see org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#isGenerateIfEmpty()
+	 * @see #getIBodySectionPartTemplate()
+	 * @generated
+	 */
+	EAttribute getIBodySectionPartTemplate_GenerateIfEmpty();
+
+	/**
+	 * Returns the meta object for the attribute '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getDefaultTextIfEmpty <em>Default Text If Empty</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the meta object for the attribute '<em>Default Text If Empty</em>'.
+	 * @see org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getDefaultTextIfEmpty()
+	 * @see #getIBodySectionPartTemplate()
+	 * @generated
+	 */
+	EAttribute getIBodySectionPartTemplate_DefaultTextIfEmpty();
+
+	/**
 	 * Returns the meta object for the '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#buildPartTemplateTitle(org.eclipse.emf.ecore.EObject) <em>Build Part Template Title</em>}' operation.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -4829,6 +5143,24 @@
 		EReference IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = eINSTANCE.getIBodySectionPartTemplate_GenerateBranchCondition();
 
 		/**
+		 * The meta object literal for the '<em><b>Generate If Empty</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY = eINSTANCE.getIBodySectionPartTemplate_GenerateIfEmpty();
+
+		/**
+		 * The meta object literal for the '<em><b>Default Text If Empty</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 *
+		 * @generated
+		 */
+		EAttribute IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = eINSTANCE.getIBodySectionPartTemplate_DefaultTextIfEmpty();
+
+		/**
 		 * The meta object literal for the '<em><b>Build Part Template Title</b></em>' operation.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/IBodySectionPartTemplate.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/IBodySectionPartTemplate.java
index a1cd6d8..d6b2214 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/IBodySectionPartTemplate.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/IBodySectionPartTemplate.java
@@ -29,6 +29,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * </ul>
  *
  * @see org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage#getIBodySectionPartTemplate()
@@ -152,6 +154,66 @@
 	void setGenerateBranchCondition(IBooleanEObjectExpression value);
 
 	/**
+	 * Returns the value of the '<em><b>Generate If Empty</b></em>' attribute.
+	 * The default value is <code>"false"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Generate If Empty</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Generate If Empty</em>' attribute.
+	 * @see #setGenerateIfEmpty(boolean)
+	 * @see org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage#getIBodySectionPartTemplate_GenerateIfEmpty()
+	 * @model default="false" required="true" ordered="false"
+	 * @generated
+	 */
+	boolean isGenerateIfEmpty();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#isGenerateIfEmpty <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *                  the new value of the '<em>Generate If Empty</em>' attribute.
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 */
+	void setGenerateIfEmpty(boolean value);
+
+	/**
+	 * Returns the value of the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * The default value is <code>"N/A"</code>.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Default Text If Empty</em>' attribute isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 *
+	 * @return the value of the '<em>Default Text If Empty</em>' attribute.
+	 * @see #setDefaultTextIfEmpty(String)
+	 * @see org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage#getIBodySectionPartTemplate_DefaultTextIfEmpty()
+	 * @model default="N/A" required="true" ordered="false"
+	 * @generated
+	 */
+	String getDefaultTextIfEmpty();
+
+	/**
+	 * Sets the value of the '{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate#getDefaultTextIfEmpty <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @param value
+	 *                  the new value of the '<em>Default Text If Empty</em>' attribute.
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 */
+	void setDefaultTextIfEmpty(String value);
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * <!-- begin-model-doc -->
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/DocumentStructureTemplatePackageImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/DocumentStructureTemplatePackageImpl.java
index dc3c2db..d9cd225 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/DocumentStructureTemplatePackageImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/DocumentStructureTemplatePackageImpl.java
@@ -29,6 +29,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.BuiltInTypesPackage;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.GeneratorConfigurationPackage;
 
+import org.eclipse.papyrus.model2doc.core.styles.StylesPackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.Body;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplateFactory;
@@ -452,6 +453,7 @@
 		EcorePackage.eINSTANCE.eClass();
 		ExpressionsPackage.eINSTANCE.eClass();
 		GeneratorConfigurationPackage.eINSTANCE.eClass();
+		StylesPackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
 		theDocumentStructureTemplatePackage.createPackageContents();
@@ -804,6 +806,28 @@
 	 * @generated
 	 */
 	@Override
+	public EAttribute getIBodySectionPartTemplate_GenerateIfEmpty() {
+		return (EAttribute) iBodySectionPartTemplateEClass.getEStructuralFeatures().get(4);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public EAttribute getIBodySectionPartTemplate_DefaultTextIfEmpty() {
+		return (EAttribute) iBodySectionPartTemplateEClass.getEStructuralFeatures().get(5);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EOperation getIBodySectionPartTemplate__BuildPartTemplateTitle__EObject() {
 		return iBodySectionPartTemplateEClass.getEOperations().get(0);
 	}
@@ -1572,6 +1596,8 @@
 		createEAttribute(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE__GENERATE_TITLE);
 		createEAttribute(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE);
 		createEReference(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION);
+		createEAttribute(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY);
+		createEAttribute(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY);
 		createEOperation(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE___BUILD_PART_TEMPLATE_TITLE__EOBJECT);
 		createEOperation(iBodySectionPartTemplateEClass, IBODY_SECTION_PART_TEMPLATE___GENERATE_BRANCH__EOBJECT);
 
@@ -1801,6 +1827,10 @@
 		initEAttribute(getIBodySectionPartTemplate_CustomTitle(), ecorePackage.getEString(), "customTitle", null, 0, 1, IBodySectionPartTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
 		initEReference(getIBodySectionPartTemplate_GenerateBranchCondition(), theBooleanExpressionsPackage.getIBooleanEObjectExpression(), null, "generateBranchCondition", null, 0, 1, IBodySectionPartTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, //$NON-NLS-1$
 				IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+		initEAttribute(getIBodySectionPartTemplate_GenerateIfEmpty(), ecorePackage.getEBoolean(), "generateIfEmpty", "false", 1, 1, IBodySectionPartTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, //$NON-NLS-1$ //$NON-NLS-2$
+				!IS_ORDERED);
+		initEAttribute(getIBodySectionPartTemplate_DefaultTextIfEmpty(), ecorePackage.getEString(), "defaultTextIfEmpty", "N/A", 1, 1, IBodySectionPartTemplate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, //$NON-NLS-1$ //$NON-NLS-2$
+				!IS_DERIVED, !IS_ORDERED);
 
 		EOperation op = initEOperation(getIBodySectionPartTemplate__BuildPartTemplateTitle__EObject(), ecorePackage.getEString(), "buildPartTemplateTitle", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
 		addEParameter(op, theEcorePackage.getEObject(), "context", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EAttributeAsParagraphImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EAttributeAsParagraphImpl.java
index 47899e8..c8f7d89 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EAttributeAsParagraphImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EAttributeAsParagraphImpl.java
@@ -47,6 +47,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EAttributeAsParagraphImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EAttributeAsParagraphImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EAttributeAsParagraphImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EAttributeAsParagraphImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EAttributeAsParagraphImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * </ul>
  *
  * @generated
@@ -130,6 +132,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -291,6 +337,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public String buildPartTemplateTitle(final EObject context) {
 		return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations.INSTANCE.buildPartTemplateTitle(this, context);
 	}
@@ -345,6 +443,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -370,6 +472,12 @@
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -395,6 +503,12 @@
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -416,6 +530,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -438,6 +556,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -481,6 +603,10 @@
 				return DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -581,6 +707,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EClassPartTemplateImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EClassPartTemplateImpl.java
index a803fc9..8b268e8 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EClassPartTemplateImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EClassPartTemplateImpl.java
@@ -51,6 +51,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EClassPartTemplateImpl#getBodyPartTemplates <em>Body Part Template</em>}</li>
  * </ul>
  *
@@ -135,6 +137,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getBodyPartTemplates() <em>Body Part Template</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -307,6 +353,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<IBodyPartTemplate> getBodyPartTemplates() {
 		if (bodyPartTemplates == null) {
 			bodyPartTemplates = new EObjectContainmentEList<>(IBodyPartTemplate.class, this, DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE);
@@ -377,6 +475,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			return getBodyPartTemplates();
 		}
@@ -405,6 +507,12 @@
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			getBodyPartTemplates().clear();
 			getBodyPartTemplates().addAll((Collection<? extends IBodyPartTemplate>) newValue);
@@ -434,6 +542,12 @@
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			getBodyPartTemplates().clear();
 			return;
@@ -458,6 +572,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			return bodyPartTemplates != null && !bodyPartTemplates.isEmpty();
 		}
@@ -482,6 +600,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -521,6 +643,10 @@
 				return DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.ECLASS_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -611,6 +737,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferencePartTemplateImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferencePartTemplateImpl.java
index 56cb9b0..33f6cfe 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferencePartTemplateImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferencePartTemplateImpl.java
@@ -51,6 +51,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferencePartTemplateImpl#getSubBodyPartTemplates <em>Sub Body Part Template</em>}</li>
  * </ul>
  *
@@ -135,6 +137,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getSubBodyPartTemplates() <em>Sub Body Part Template</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -307,6 +353,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<ISubBodyPartTemplate> getSubBodyPartTemplates() {
 		if (subBodyPartTemplates == null) {
 			subBodyPartTemplates = new EObjectContainmentEList<>(ISubBodyPartTemplate.class, this, DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE);
@@ -377,6 +475,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			return getSubBodyPartTemplates();
 		}
@@ -405,6 +507,12 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			getSubBodyPartTemplates().clear();
 			getSubBodyPartTemplates().addAll((Collection<? extends ISubBodyPartTemplate>) newValue);
@@ -434,6 +542,12 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			getSubBodyPartTemplates().clear();
 			return;
@@ -458,6 +572,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			return subBodyPartTemplates != null && !subBodyPartTemplates.isEmpty();
 		}
@@ -482,6 +600,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -521,6 +643,10 @@
 				return DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EREFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -611,6 +737,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferenceTableViewImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferenceTableViewImpl.java
index a01605b..ccf3c7b 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferenceTableViewImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/EReferenceTableViewImpl.java
@@ -53,6 +53,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#getColumns <em>Columns</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#isGenerateRowHeader <em>Generate Row Header</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.EReferenceTableViewImpl#isGenerateColumnHeader <em>Generate Column Header</em>}</li>
@@ -139,6 +141,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getColumns() <em>Columns</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -355,6 +401,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<IColumn> getColumns() {
 		if (columns == null) {
 			columns = new EObjectContainmentEList<>(IColumn.class, this, DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__COLUMNS);
@@ -499,6 +597,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__COLUMNS:
 			return getColumns();
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
@@ -531,6 +633,12 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__COLUMNS:
 			getColumns().clear();
 			getColumns().addAll((Collection<? extends IColumn>) newValue);
@@ -566,6 +674,12 @@
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__COLUMNS:
 			getColumns().clear();
 			return;
@@ -596,6 +710,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__COLUMNS:
 			return columns != null && !columns.isEmpty();
 		case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
@@ -624,6 +742,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -679,6 +801,10 @@
 				return DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.EREFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -805,6 +931,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", generateRowHeader: "); //$NON-NLS-1$
 		result.append(generateRowHeader);
 		result.append(", generateColumnHeader: "); //$NON-NLS-1$
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/InsertFileTemplateImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/InsertFileTemplateImpl.java
index 471fe5c..89e5dd0 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/InsertFileTemplateImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/InsertFileTemplateImpl.java
@@ -50,6 +50,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.InsertFileTemplateImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.InsertFileTemplateImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.InsertFileTemplateImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.InsertFileTemplateImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.InsertFileTemplateImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * </ul>
  *
  * @generated
@@ -133,6 +135,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -294,6 +340,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public String buildPartTemplateTitle(final EObject context) {
 		return org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.operations.BodySectionPartTemplateTitleOperations.INSTANCE.buildPartTemplateTitle(this, context);
 	}
@@ -348,6 +446,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -373,6 +475,12 @@
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -398,6 +506,12 @@
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -419,6 +533,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -441,6 +559,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -490,6 +612,10 @@
 				return DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.INSERT_FILE_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -602,6 +728,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/TreeListViewImpl.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/TreeListViewImpl.java
index b1239ec..d68e47f 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/TreeListViewImpl.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/impl/TreeListViewImpl.java
@@ -49,6 +49,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.impl.TreeListViewImpl#getRootListItemTemplates <em>Root List Item Template</em>}</li>
  * </ul>
  *
@@ -133,6 +135,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getRootListItemTemplates() <em>Root List Item Template</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -305,6 +351,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<IRootListItemTemplate> getRootListItemTemplates() {
 		if (rootListItemTemplates == null) {
 			rootListItemTemplates = new EObjectContainmentEList<>(IRootListItemTemplate.class, this, DocumentStructureTemplatePackage.TREE_LIST_VIEW__ROOT_LIST_ITEM_TEMPLATE);
@@ -375,6 +473,10 @@
 			return getCustomTitle();
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__ROOT_LIST_ITEM_TEMPLATE:
 			return getRootListItemTemplates();
 		}
@@ -403,6 +505,12 @@
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__ROOT_LIST_ITEM_TEMPLATE:
 			getRootListItemTemplates().clear();
 			getRootListItemTemplates().addAll((Collection<? extends IRootListItemTemplate>) newValue);
@@ -432,6 +540,12 @@
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__ROOT_LIST_ITEM_TEMPLATE:
 			getRootListItemTemplates().clear();
 			return;
@@ -456,6 +570,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case DocumentStructureTemplatePackage.TREE_LIST_VIEW__ROOT_LIST_ITEM_TEMPLATE:
 			return rootListItemTemplates != null && !rootListItemTemplates.isEmpty();
 		}
@@ -498,6 +616,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/util/DocumentStructureTemplateAdapterFactory.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/util/DocumentStructureTemplateAdapterFactory.java
index b290d8c..4b11aa2 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/util/DocumentStructureTemplateAdapterFactory.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/emf/documentstructuretemplate/util/DocumentStructureTemplateAdapterFactory.java
@@ -83,7 +83,7 @@
 	 *
 	 * @generated
 	 */
-	protected DocumentStructureTemplateSwitch<Adapter> modelSwitch = new DocumentStructureTemplateSwitch<Adapter>() {
+	protected DocumentStructureTemplateSwitch<Adapter> modelSwitch = new DocumentStructureTemplateSwitch<>() {
 		@Override
 		public Adapter caseDocumentTemplate(DocumentTemplate object) {
 			return createDocumentTemplateAdapter();
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractBodyPartTemplateToStructureMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractBodyPartTemplateToStructureMapper.java
new file mode 100644
index 0000000..70bff68
--- /dev/null
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractBodyPartTemplateToStructureMapper.java
@@ -0,0 +1,96 @@
+/*****************************************************************************
+ * Copyright (c) 2021 CEA LIST and others.
+ *
+ * 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
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ *   Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.model2doc.emf.template2structure.mapping;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.Paragraph;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodySectionPartTemplate;
+
+/**
+ * Abstract class for all mappers whose parameter extends IBodySectionPartTemplate.
+ */
+public abstract class AbstractBodyPartTemplateToStructureMapper<INPUT extends IBodySectionPartTemplate> extends AbstractTemplateToStructureMapper<INPUT> {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param inputEClass
+	 * @param outputClass
+	 */
+	public <T> AbstractBodyPartTemplateToStructureMapper(EClass inputEClass, Class<T> outputClass) {
+		super(inputEClass, outputClass);
+	}
+
+	/**
+	 * This method build a tree using the title if necessary, manage the generation if the generatedElements list is empty
+	 *
+	 * @param <T>
+	 * @param documentTemplateElement
+	 *            the documentTemplateElement
+	 * @param semanticModelElement
+	 *            the semantic element
+	 * @param expectedReturnedClass
+	 *            the expected returned class
+	 * @param generatedElements
+	 *            the list of generated element to add to the tree
+	 * @return the list of expectedReturnedClass elements
+	 */
+	protected <T> List<T> buildMapperResult(final INPUT documentTemplateElement, final EObject semanticModelElement, final Class<T> expectedReturnedClass, final List<T> generatedElements) {
+		List<T> returnedElements = new ArrayList<>();
+
+		// we generate something for this step itself
+		if (documentTemplateElement.isGenerate()) {
+			final Title title;
+
+			// we generate title if required
+			if (documentTemplateElement.isGenerateTitle()) {
+				title = STRUCTURE_EFACTORY.createTitle();
+				title.setTitle(documentTemplateElement.buildPartTemplateTitle(semanticModelElement));
+				returnedElements.add(expectedReturnedClass.cast(title));
+			} else {
+				title = null;
+			}
+
+			// we generate an empty paragraph if the contents is empty and if it is required
+			if (generatedElements.isEmpty() && documentTemplateElement.isGenerateIfEmpty()) {
+				final Paragraph paragraph = STRUCTURE_EFACTORY.createParagraph();
+				paragraph.setText(documentTemplateElement.getDefaultTextIfEmpty());
+				if (title != null) {
+					title.getSubBodyParts().add(paragraph);
+				} else {
+					returnedElements.add(expectedReturnedClass.cast(paragraph));
+				}
+			} else {
+				// the contents was not empty
+				if (title != null) {
+					generatedElements.forEach(ge -> title.getSubBodyParts().add((BodyPart) ge));
+				} else {
+					returnedElements.addAll(generatedElements);
+				}
+			}
+		} else {
+			// we generate nothing for the current step it self
+			returnedElements.addAll(generatedElements);
+		}
+		return returnedElements;
+	}
+}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractTemplateToStructureMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractTemplateToStructureMapper.java
index 6ee5ceb..f4f84a1 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractTemplateToStructureMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src-api/org/eclipse/papyrus/model2doc/emf/template2structure/mapping/AbstractTemplateToStructureMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -21,6 +22,8 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
+import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructurePackage;
 
 /**
  * Abstract class for all mappers. The extension of this class must have a constructor without parameters and be registered with the extension point structuregenerator.generator
@@ -28,6 +31,10 @@
  */
 public abstract class AbstractTemplateToStructureMapper<INPUT extends EObject> {
 
+	protected static final DocumentStructureFactory STRUCTURE_EFACTORY = DocumentStructureFactory.eINSTANCE;
+
+	protected static final DocumentStructurePackage STRUCTURE_EPACKAGE = DocumentStructurePackage.eINSTANCE;
+
 	/**
 	 * the handled input eClass
 	 */
@@ -60,7 +67,7 @@
 	/**
 	 *
 	 * @return
-	 * 		the EClass supported as input by the current mapper
+	 *         the EClass supported as input by the current mapper
 	 */
 	public final EClass getInputEClass() {
 		return inputEClass;
@@ -71,7 +78,7 @@
 	 * @param eobject
 	 *            an EObejct
 	 * @return
-	 * 		<code>true</code> if the EObject is handler by this mapper
+	 *         <code>true</code> if the EObject is handler by this mapper
 	 */
 	private final boolean handlesInput(final EObject eobject) {
 		return handlesInput(eobject.eClass());
@@ -81,7 +88,7 @@
 	 *
 	 * @param eClass
 	 * @return
-	 * 		<code>true</code> if the EClass matches the supported EClass
+	 *         <code>true</code> if the EClass matches the supported EClass
 	 */
 	public final boolean handlesInput(final EClass eClass) {
 		return this.inputEClass == eClass;
@@ -91,7 +98,7 @@
 	 *
 	 * @param clazz
 	 * @return
-	 * 		<code>true</code> if the Class is a super type of the output EClass supported by the mapper
+	 *         <code>true</code> if the Class is a super type of the output EClass supported by the mapper
 	 */
 	public final boolean handlesExpectedOutput(final Class<?> clazz) {
 		return clazz.isAssignableFrom(this.outputClass);
@@ -109,7 +116,7 @@
 	 * @param expectedReturnedClass
 	 *            the returned elements must be instance of this EClass
 	 * @return
-	 * 		a collection of T containing the created elements to answer to this mapping request
+	 *         a collection of T containing the created elements to answer to this mapping request
 	 */
 	@SuppressWarnings("unchecked")
 	public final <T> List<T> map(final IMappingService mappingService, final EObject documentTemplateElement, final EObject semanticModelElement, final Class<T> expectedReturnedClass) {
@@ -134,7 +141,7 @@
 	 * @param expectedReturnedClass
 	 *            the wanted return type
 	 * @return
-	 * 		the created document structure element or <code>null</code>
+	 *         the created document structure element or <code>null</code>
 	 */
 	protected abstract <T> List<T> doMap(final IMappingService mappingService, final INPUT documentTemplateElement, final EObject semanticModelElement, final Class<T> expectedReturnedClass);
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/AbstractEMFTemplateToStructureMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/AbstractEMFTemplateToStructureMapper.java
deleted file mode 100755
index f366e07..0000000
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/AbstractEMFTemplateToStructureMapper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
- *
- * 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
- * http://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
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.model2doc.emf.template2structure.internal.mapping;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructurePackage;
-import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
-import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
-
-/**
- * Abstract class for Mappers provided by this plugin
- *
- */
-public abstract class AbstractEMFTemplateToStructureMapper<INPUT extends EObject> extends AbstractTemplateToStructureMapper<INPUT> {
-
-	protected static final DocumentStructureTemplatePackage TEMPLATE_EPACKAGE = DocumentStructureTemplatePackage.eINSTANCE;
-
-	protected static final DocumentStructureFactory STRUCTURE_EFACTORY = DocumentStructureFactory.eINSTANCE;
-
-	protected static final DocumentStructurePackage STRUCTURE_EPACKAGE = DocumentStructurePackage.eINSTANCE;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param eClass
-	 */
-	public AbstractEMFTemplateToStructureMapper(final EClass inputEClass, final Class<?> outputClass) {
-		super(inputEClass, outputClass);
-		Assert.isTrue(inputEClass.getEPackage() == TEMPLATE_EPACKAGE);
-	}
-
-}
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/BodyMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/BodyMapper.java
index 6c3fb01..483e085 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/BodyMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/BodyMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,14 +24,16 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.Body;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class create the DocumentStructure Body for the DocumentStructureTemplate Body
  *
  */
-public class BodyMapper extends AbstractEMFTemplateToStructureMapper<Body> {
+public class BodyMapper extends AbstractTemplateToStructureMapper<Body> {
 
 	/**
 	 *
@@ -38,7 +41,7 @@
 	 *
 	 */
 	public BodyMapper() {
-		super(TEMPLATE_EPACKAGE.getBody(), org.eclipse.papyrus.model2doc.emf.documentstructure.Body.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getBody(), org.eclipse.papyrus.model2doc.emf.documentstructure.Body.class);
 	}
 
 	/**
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EAttributeAsParagraphMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EAttributeAsParagraphMapper.java
index 3d32baa..9af0f4c 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EAttributeAsParagraphMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EAttributeAsParagraphMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2020 CEA LIST and others.
+ * Copyright (c) 2020, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,14 +24,15 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Paragraph;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EAttributeAsParagraph;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This mapper is in charge to create {@link Paragraph} from EAttribute values
  */
-public class EAttributeAsParagraphMapper extends AbstractEMFTemplateToStructureMapper<EAttributeAsParagraph> {
+public class EAttributeAsParagraphMapper extends AbstractBodyPartTemplateToStructureMapper<EAttributeAsParagraph> {
 
 	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
 
@@ -41,7 +43,7 @@
 	 * @param outputClass
 	 */
 	public EAttributeAsParagraphMapper() {
-		super(TEMPLATE_EPACKAGE.getEAttributeAsParagraph(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getEAttributeAsParagraph(), BodyPart.class);
 	}
 
 	/**
@@ -66,13 +68,7 @@
 		}
 
 		final Iterator<Object> eAttributeValuesIter = documentTemplateElement.getEAttributeValues(semanticModelElement).iterator();
-		Title title = null;
-		List<T> returnedElements = new ArrayList<>();
-		if (eAttributeValuesIter.hasNext() && documentTemplateElement.isGenerateTitle()) {
-			title = STRUCTURE_EFACTORY.createTitle();
-			title.setTitle(documentTemplateElement.buildPartTemplateTitle(semanticModelElement));
-			returnedElements.add(expectedReturnedClass.cast(title));
-		}
+		List<T> generatedElements = new ArrayList<>();
 
 		while (eAttributeValuesIter.hasNext()) {
 			final Paragraph paragraph = STRUCTURE_EFACTORY.createParagraph();
@@ -81,14 +77,10 @@
 				value = EMPTY_STRING;
 			}
 			paragraph.setText(value.toString());
-			if (null == title) {
-				returnedElements.add(expectedReturnedClass.cast(paragraph));
-			} else {
-				title.getSubBodyParts().add(paragraph);
-			}
+			generatedElements.add(expectedReturnedClass.cast(paragraph));
 		}
 
-		return returnedElements;
+		return buildMapperResult(documentTemplateElement, semanticModelElement, expectedReturnedClass, generatedElements);
 	}
 
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EClassPartTemplateMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EClassPartTemplateMapper.java
index ca20c45..44c9b59 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EClassPartTemplateMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EClassPartTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -24,15 +25,17 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EClassPartTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  *
  * This class ensures the transformation of the {@link EClassPartTemplate} into a {@link BodyPart} ({@link Title}) and delegate the mapping of the {@link EClassPartTemplate} subelements.
  */
-public class EClassPartTemplateMapper extends AbstractEMFTemplateToStructureMapper<EClassPartTemplate> {
+public class EClassPartTemplateMapper extends AbstractBodyPartTemplateToStructureMapper<EClassPartTemplate> {
 
 	/**
 	 * Constructor.
@@ -41,7 +44,7 @@
 	 * @param outputEClass
 	 */
 	public EClassPartTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getEClassPartTemplate(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getEClassPartTemplate(), BodyPart.class);
 	}
 
 	/**
@@ -59,15 +62,8 @@
 		if (false == eClassPartTemplate.isMatchingFilterRule(semanticModelElement)) {
 			return Collections.emptyList();
 		}
-		Title title = null;
-		List<T> returnedElements = new ArrayList<>();
-		if (eClassPartTemplate.isGenerate()) {
-			if (eClassPartTemplate.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(eClassPartTemplate.buildPartTemplateTitle(semanticModelElement));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
+		List<T> generatedElements = new ArrayList<>();
+
 		final Iterator<IBodyPartTemplate> bodyPart = eClassPartTemplate.getBodyPartTemplates().iterator();
 		while (bodyPart.hasNext()) {
 			final IBodyPartTemplate currentFeature = bodyPart.next();
@@ -75,15 +71,10 @@
 			if (result == null) {
 				continue;
 			}
-			if (title != null) {
-				title.getSubBodyParts().addAll(result);
-			} else {
-				// ensure the cast
-				result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
-			}
-
+			// ensure the cast
+			result.stream().forEach(a -> generatedElements.add(expectedReturnedClass.cast(a)));
 		}
-		return returnedElements;
+		return buildMapperResult(eClassPartTemplate, semanticModelElement, expectedReturnedClass, generatedElements);
 	}
 
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferencePartTemplateMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferencePartTemplateMapper.java
index b21b85c..1d79da2 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferencePartTemplateMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferencePartTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -24,14 +25,16 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EReferencePartTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ISubBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link EReferencePartTemplateMapper} into a {@link BodyPart} ({@link Title}) and delegate the mapping of the {@link EReferencePartTemplateMapper} subelements.
  */
-public class EReferencePartTemplateMapper extends AbstractEMFTemplateToStructureMapper<EReferencePartTemplate> {
+public class EReferencePartTemplateMapper extends AbstractBodyPartTemplateToStructureMapper<EReferencePartTemplate> {
 
 	/**
 	 * Constructor.
@@ -40,7 +43,7 @@
 	 * @param outputEClass
 	 */
 	public EReferencePartTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getEReferencePartTemplate(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getEReferencePartTemplate(), BodyPart.class);
 	}
 
 	/**
@@ -56,20 +59,12 @@
 		if (false == referencePartTemplate.generateBranch(semanticModelElement)) {
 			return Collections.emptyList();
 		}
-		List<T> returnedElements = new ArrayList<>();
+		List<T> generatedElements = new ArrayList<>();
 
 		final Collection<EObject> matchingElements = referencePartTemplate.getEReferenceValues(semanticModelElement);
 		if (matchingElements.isEmpty()) {
 			return null;
 		}
-		Title title = null;
-		if (referencePartTemplate.isGenerate()) {
-			if (referencePartTemplate.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(referencePartTemplate.buildPartTemplateTitle(null));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
 
 		// we iterate firstly on the elements of the document structure
 		final Iterator<ISubBodyPartTemplate> subBodyPartTemplate = referencePartTemplate.getSubBodyPartTemplates().iterator();
@@ -83,15 +78,11 @@
 				if (result == null) {
 					continue;
 				}
-				if (title != null) {
-					title.getSubBodyParts().addAll(result);
-				} else {
-					result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
-				}
+				result.stream().forEach(a -> generatedElements.add(expectedReturnedClass.cast(a)));
 			}
 		}
 
-		return returnedElements;
+		return buildMapperResult(referencePartTemplate, semanticModelElement, expectedReturnedClass, generatedElements);
 	}
 
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferenceTableViewMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferenceTableViewMapper.java
index cd9582d..61ab6b2 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferenceTableViewMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/EReferenceTableViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019, 2020 CEA LIST and others.
+ * Copyright (c) 2019-2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
  * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 569249
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -29,17 +30,18 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.CellLocation;
 import org.eclipse.papyrus.model2doc.core.builtintypes.TextCell;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.EmptyLine;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedBasicTable;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EReferenceTableView;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IColumn;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ITableView;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link EReferenceTableView} into an {@link ExtendedBasicTable}
  */
-public class EReferenceTableViewMapper extends AbstractEMFTemplateToStructureMapper<EReferenceTableView> {
+public class EReferenceTableViewMapper extends AbstractBodyPartTemplateToStructureMapper<EReferenceTableView> {
 
 	/**
 	 * Constructor.
@@ -48,7 +50,7 @@
 	 * @param outputClass
 	 */
 	public EReferenceTableViewMapper() {
-		super(TEMPLATE_EPACKAGE.getEReferenceTableView(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getEReferenceTableView(), BodyPart.class);
 	}
 
 	/**
@@ -64,37 +66,18 @@
 	 */
 	@Override
 	protected <T> List<T> doMap(final IMappingService mappingService, final EReferenceTableView eReferenceTableView, final EObject semanticModelElement, final Class<T> expectedReturnedClass) {
+		final List<T> returnedElements = new ArrayList<>();
 		if (false == eReferenceTableView.generateBranch(semanticModelElement)) {
 			return Collections.emptyList();
 		}
 
-		List<T> returnedElements = new ArrayList<>();
-
 		final Collection<EObject> rows = eReferenceTableView.getRows(semanticModelElement);
 		final Collection<IColumn> columns = eReferenceTableView.getColumns();
 		if (rows.isEmpty() || columns.isEmpty()) {
 			return null;
 		}
-		Title title = null;
-		if (eReferenceTableView.isGenerate()) {
-			if (eReferenceTableView.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(eReferenceTableView.buildPartTemplateTitle(null));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
-
 
 		final ExtendedBasicTable table = STRUCTURE_EFACTORY.createExtendedBasicTable();
-		final EmptyLine emptyLine = STRUCTURE_EFACTORY.createEmptyLine(); // Bug 569249
-
-		if (title != null) {
-			title.getSubBodyParts().add(table);
-			title.getSubBodyParts().add(emptyLine);
-		} else {
-			returnedElements.add(expectedReturnedClass.cast(table));
-			returnedElements.add(expectedReturnedClass.cast(emptyLine));
-		}
 
 		// column header generation
 		if (eReferenceTableView.isGenerateColumnHeader()) {
@@ -149,7 +132,24 @@
 		}
 
 
-		return returnedElements;
+		if (!isEmptyTable(table, eReferenceTableView)) {
+			returnedElements.add(expectedReturnedClass.cast(table));
+			returnedElements.add(expectedReturnedClass.cast(STRUCTURE_EFACTORY.createEmptyLine()));
+		}
+
+		return buildMapperResult(eReferenceTableView, semanticModelElement, expectedReturnedClass, returnedElements);
+	}
+
+	/**
+	 *
+	 * @param table
+	 *            the created table
+	 * @param tableView
+	 * @return
+	 */
+	private boolean isEmptyTable(final ExtendedBasicTable table, final ITableView tableView) {
+		return table.getRowsNumber() == 0 && tableView.isGenerateColumnHeader() == false
+				|| table.getRowsNumber() == 1 && tableView.isGenerateColumnHeader();
 	}
 
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/InsertFileTemplateMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/InsertFileTemplateMapper.java
index ba76c37..dbe222d 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/InsertFileTemplateMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/InsertFileTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,11 +10,14 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
 package org.eclipse.papyrus.model2doc.emf.template2structure.internal.mapping;
 
+import java.io.File;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -22,14 +25,15 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.InsertedFile;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.InsertFileTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * Mapper for InsertFileTemplate element
  */
-public class InsertFileTemplateMapper extends AbstractEMFTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.InsertFileTemplate> {
+public class InsertFileTemplateMapper extends AbstractBodyPartTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.InsertFileTemplate> {
 
 	/**
 	 * Constructor.
@@ -38,7 +42,7 @@
 	 * @param outputClass
 	 */
 	public InsertFileTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getInsertFileTemplate(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getInsertFileTemplate(), BodyPart.class);
 	}
 
 	/**
@@ -57,26 +61,37 @@
 		if (false == insertFileTemplate.generateBranch(semanticModelElement)) {
 			return Collections.emptyList();
 		}
-		Title title = null;
+
 		List<T> returnedElements = new ArrayList<>();
-		if (insertFileTemplate.isGenerate()) {
-			if (insertFileTemplate.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(insertFileTemplate.buildPartTemplateTitle(semanticModelElement));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
 
 		final InsertedFile insertedFile = STRUCTURE_EFACTORY.createInsertedFile();
-		final String path = insertFileTemplate.getFileAccessor().createInputFilePlatformURI().toString();
-		insertedFile.setFilePath(path);
-
-		if (null != title) {
-			title.getSubBodyParts().add(insertedFile);
-		} else {
+		// we include the file into the document structure only if we are able to find the file
+		if (isFileExist(insertFileTemplate)) {
+			final String path = insertFileTemplate.getFileAccessor().createInputFilePlatformURI().toPlatformString(true);
+			insertedFile.setFilePath(path);
 			returnedElements.add(expectedReturnedClass.cast(insertedFile));
 		}
-		return returnedElements;
+
+		return buildMapperResult(insertFileTemplate, semanticModelElement, expectedReturnedClass, returnedElements);
+	}
+
+	/**
+	 *
+	 * @param insertFileTemplate
+	 *            the inserted file template
+	 * @return
+	 *         <code>true</code> if the file exists
+	 */
+	protected boolean isFileExist(final InsertFileTemplate insertFileTemplate) {
+		final String ecoreFilePrefix = "file:"; //$NON-NLS-1$
+		final String emptyString = ""; //$NON-NLS-1$
+
+		URL url = insertFileTemplate.getFileAccessor().createInputFileURL();
+		if (url != null) {
+			File file = new File(url.getPath().replaceFirst(ecoreFilePrefix, emptyString));
+			return file.exists();
+		}
+		return false;
 	}
 
 }
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfContentsMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfContentsMapper.java
index e65a070..9bfa695 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfContentsMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfContentsMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -22,12 +23,14 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.TableOfContents;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfContents} into a {@link BodyPart} ({@link TableOfContents})
  */
-public class TableOfContentsMapper extends AbstractEMFTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfContents> {
+public class TableOfContentsMapper extends AbstractTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfContents> {
 
 	/**
 	 *
@@ -35,7 +38,7 @@
 	 *
 	 */
 	public TableOfContentsMapper() {
-		super(TEMPLATE_EPACKAGE.getTableOfContents(), TableOfContents.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getTableOfContents(), TableOfContents.class);
 	}
 
 	/**
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfFiguresMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfFiguresMapper.java
index 6588735..4e9d49e 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfFiguresMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TableOfFiguresMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -22,12 +23,14 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.TableOfFigures;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfFigures} into a {@link BodyPart} ({@link TableOfFigures})
  */
-public class TableOfFiguresMapper extends AbstractEMFTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfFigures> {
+public class TableOfFiguresMapper extends AbstractTemplateToStructureMapper<org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TableOfFigures> {
 
 	/**
 	 *
@@ -35,7 +38,7 @@
 	 *
 	 */
 	public TableOfFiguresMapper() {
-		super(TEMPLATE_EPACKAGE.getTableOfFigures(), TableOfFigures.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getTableOfFigures(), TableOfFigures.class);
 	}
 
 	/**
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TextDocumentTemplateMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TextDocumentTemplateMapper.java
index aa1e2ba..13b616c 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TextDocumentTemplateMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TextDocumentTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -30,13 +31,15 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.TextDocument;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.TextDocumentPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentPart;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TextDocumentTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link TextDocumentTemplate} into a {@link TextDocument} and delegate the mapping of the {@link TextDocumentTemplate} subelements.
  */
-public class TextDocumentTemplateMapper extends AbstractEMFTemplateToStructureMapper<TextDocumentTemplate> {
+public class TextDocumentTemplateMapper extends AbstractTemplateToStructureMapper<TextDocumentTemplate> {
 
 	/**
 	 *
@@ -44,7 +47,7 @@
 	 *
 	 */
 	public TextDocumentTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getTextDocumentTemplate(), Document.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getTextDocumentTemplate(), Document.class);
 	}
 
 	/**
diff --git a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TreeListViewMapper.java b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TreeListViewMapper.java
index 177dd60..3fd79e1 100755
--- a/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TreeListViewMapper.java
+++ b/plugins/emf/org.eclipse.papyrus.model2doc.emf.template2structure/src/org/eclipse/papyrus/model2doc/emf/template2structure/internal/mapping/TreeListViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -26,7 +27,7 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedBasicList;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedTextListItem;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EAttributeListItemTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.EReferenceListItemTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IComposedListItemTemplate;
@@ -37,12 +38,13 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IRootListItemTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.TreeListView;
 import org.eclipse.papyrus.model2doc.emf.template2structure.Activator;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 
 /**
  * This class ensures the transformation of the {@link TreeListView} into a {@link BodyPart}
  */
-public class TreeListViewMapper extends AbstractEMFTemplateToStructureMapper<TreeListView> {
+public class TreeListViewMapper extends AbstractBodyPartTemplateToStructureMapper<TreeListView> {
 
 	/**
 	 * Constructor.
@@ -51,7 +53,7 @@
 	 * @param outputEClass
 	 */
 	public TreeListViewMapper() {
-		super(TEMPLATE_EPACKAGE.getTreeListView(), BodyPart.class);
+		super(DocumentStructureTemplatePackage.eINSTANCE.getTreeListView(), BodyPart.class);
 	}
 
 	/**
@@ -68,7 +70,7 @@
 			return Collections.emptyList();
 		}
 
-		List<T> returnedElements = new ArrayList<>();
+		List<T> generatedElements = new ArrayList<>();
 
 
 		final Iterator<IRootListItemTemplate> itemIterator = treeListView.getRootListItemTemplates().iterator();
@@ -82,23 +84,11 @@
 		if (createdListItems.isEmpty()) {
 			return null;
 		}
-		Title title = null;
-		if (treeListView.isGenerate()) {
-			if (treeListView.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(treeListView.buildPartTemplateTitle(semanticModelElement));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
-		STRUCTURE_EFACTORY.createExtendedBasicList();
 		final ExtendedBasicList list = STRUCTURE_EFACTORY.createExtendedBasicList();
 		list.getItems().addAll(createdListItems);
-		if (null != title) {
-			title.getSubBodyParts().add(list);
-		} else {
-			returnedElements.add(expectedReturnedClass.cast(list));
-		}
-		return returnedElements;
+
+		generatedElements.add(expectedReturnedClass.cast(list));
+		return buildMapperResult(treeListView, semanticModelElement, expectedReturnedClass, generatedElements);
 	}
 
 	/**
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
index d5b4166..099948f 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
@@ -24,5 +24,7 @@
  org.eclipse.papyrus.infra.emf.expressions.edit;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.author.edit;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDiagramViewItemProvider.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDiagramViewItemProvider.java
index 3315ffa..752edc7 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDiagramViewItemProvider.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDiagramViewItemProvider.java
@@ -82,6 +82,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addDiagramTypePropertyDescriptor(object);
 			addDiagramImageMarginPropertyDescriptor(object);
 		}
@@ -152,6 +154,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Diagram Type feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -279,6 +323,8 @@
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE:
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_TITLE:
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__CUSTOM_TITLE:
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDocumentStructureTemplateEditPlugin.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDocumentStructureTemplateEditPlugin.java
index e544f53..37acb75 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDocumentStructureTemplateEditPlugin.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/provider/GMFDocumentStructureTemplateEditPlugin.java
@@ -24,6 +24,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesEditPlugin;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorconfigurationEditPlugin;
 
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesEditPlugin;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.provider.DocumentStructureTemplateEditPlugin;
 
 import org.osgi.framework.BundleActivator;
@@ -69,6 +70,7 @@
 				AuthorEditPlugin.INSTANCE,
 				ExpressionsEditPlugin.INSTANCE,
 				BuiltInTypesEditPlugin.INSTANCE,
+				StylesEditPlugin.INSTANCE,
 		});
 	}
 
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/META-INF/MANIFEST.MF b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
index 708e711..514be9d 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
@@ -18,5 +18,6 @@
  org.eclipse.gmf.runtime.notation;bundle-version="[1.9.0,2.0.0)",
  org.eclipse.papyrus.infra.emf.expressions;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.author;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/model/gmfdocumentstructuretemplate.genmodel b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/model/gmfdocumentstructuretemplate.genmodel
index 52dcc8e..6d547d5 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/model/gmfdocumentstructuretemplate.genmodel
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/model/gmfdocumentstructuretemplate.genmodel
@@ -10,7 +10,7 @@
     nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.tests/src-gen"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
-    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes"
+    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
     operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
     pluralizedGetters="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/GMFDocumentStructureTemplatePackage.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/GMFDocumentStructureTemplatePackage.java
index 6f9c3e8..69c9a32 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/GMFDocumentStructureTemplatePackage.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/GMFDocumentStructureTemplatePackage.java
@@ -127,6 +127,26 @@
 	int GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Diagram Type</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -134,7 +154,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int GMF_DIAGRAM_VIEW__DIAGRAM_TYPE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 4;
+	int GMF_DIAGRAM_VIEW__DIAGRAM_TYPE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Diagram Image Margin</b></em>' attribute.
@@ -144,7 +164,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 5;
+	int GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 7;
 
 	/**
 	 * The number of structural features of the '<em>GMF Diagram View</em>' class.
@@ -154,7 +174,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int GMF_DIAGRAM_VIEW_FEATURE_COUNT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 6;
+	int GMF_DIAGRAM_VIEW_FEATURE_COUNT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 8;
 
 	/**
 	 * The operation id for the '<em>Build Part Template Title</em>' operation.
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDiagramViewImpl.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDiagramViewImpl.java
index d7cc185..7b389db 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDiagramViewImpl.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDiagramViewImpl.java
@@ -50,6 +50,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#getDiagramType <em>Diagram Type</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.impl.GMFDiagramViewImpl#getDiagramImageMargin <em>Diagram Image Margin</em>}</li>
  * </ul>
@@ -135,6 +137,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The default value of the '{@link #getDiagramType() <em>Diagram Type</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -340,6 +386,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public String getDiagramType() {
 		return diagramType;
 	}
@@ -459,6 +557,10 @@
 			return getCustomTitle();
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 			return getDiagramType();
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN:
@@ -488,6 +590,12 @@
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 			setDiagramType((String) newValue);
 			return;
@@ -519,6 +627,12 @@
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 			setDiagramType(DIAGRAM_TYPE_EDEFAULT);
 			return;
@@ -546,6 +660,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 			return DIAGRAM_TYPE_EDEFAULT == null ? diagramType != null : !DIAGRAM_TYPE_EDEFAULT.equals(diagramType);
 		case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN:
@@ -572,6 +690,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -609,6 +731,10 @@
 				return GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return GMFDocumentStructureTemplatePackage.GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -699,6 +825,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", diagramType: "); //$NON-NLS-1$
 		result.append(diagramType);
 		result.append(", diagramImageMargin: "); //$NON-NLS-1$
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDocumentStructureTemplatePackageImpl.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDocumentStructureTemplatePackageImpl.java
index f130b0f..ee0579a 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDocumentStructureTemplatePackageImpl.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/impl/GMFDocumentStructureTemplatePackageImpl.java
@@ -28,6 +28,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.BuiltInTypesPackage;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.GeneratorConfigurationPackage;
 
+import org.eclipse.papyrus.model2doc.core.styles.StylesPackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 
 import org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.GMFDiagramView;
@@ -121,6 +122,7 @@
 		AuthorPackage.eINSTANCE.eClass();
 		ExpressionsPackage.eINSTANCE.eClass();
 		BuiltInTypesPackage.eINSTANCE.eClass();
+		StylesPackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
 		theGMFDocumentStructureTemplatePackage.createPackageContents();
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/util/GMFDocumentStructureTemplateAdapterFactory.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/util/GMFDocumentStructureTemplateAdapterFactory.java
index f5a955a..7f089e2 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/util/GMFDocumentStructureTemplateAdapterFactory.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/gmf/documentstructuretemplate/util/GMFDocumentStructureTemplateAdapterFactory.java
@@ -88,7 +88,7 @@
 	 *
 	 * @generated
 	 */
-	protected GMFDocumentStructureTemplateSwitch<Adapter> modelSwitch = new GMFDocumentStructureTemplateSwitch<Adapter>() {
+	protected GMFDocumentStructureTemplateSwitch<Adapter> modelSwitch = new GMFDocumentStructureTemplateSwitch<>() {
 		@Override
 		public Adapter caseGMFDiagramView(GMFDiagramView object) {
 			return createGMFDiagramViewAdapter();
diff --git a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.template2structure/src/org/eclipse/papyrus/model2doc/gmf/template2structure/internal/mapping/GMFDiagramViewMapper.java b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.template2structure/src/org/eclipse/papyrus/model2doc/gmf/template2structure/internal/mapping/GMFDiagramViewMapper.java
index 3fee7f2..dc2fb01 100755
--- a/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.template2structure/src/org/eclipse/papyrus/model2doc/gmf/template2structure/internal/mapping/GMFDiagramViewMapper.java
+++ b/plugins/gmf/org.eclipse.papyrus.model2doc.gmf.template2structure/src/org/eclipse/papyrus/model2doc/gmf/template2structure/internal/mapping/GMFDiagramViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -29,10 +30,9 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Image;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.utils.DocumentStructureTemplateUtils;
-import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.GMFDiagramView;
 import org.eclipse.papyrus.model2doc.gmf.documentstructuretemplate.GMFDocumentStructureTemplatePackage;
@@ -40,7 +40,7 @@
 /**
  * This class does the mapping between {@link GMFDiagramViewMapper} and {@link Image}
  */
-public class GMFDiagramViewMapper extends AbstractTemplateToStructureMapper<GMFDiagramView> {
+public class GMFDiagramViewMapper extends AbstractBodyPartTemplateToStructureMapper<GMFDiagramView> {
 
 	/**
 	 * Constructor.
@@ -72,12 +72,7 @@
 
 
 		final Iterator<Diagram> diagramIter = gmfDiagramView.getMatchingDiagrams(semanticModelElement).iterator();
-		Title title = null;
-		if (diagramIter.hasNext() && gmfDiagramView.isGenerateTitle()) {
-			title = DocumentStructureFactory.eINSTANCE.createTitle();
-			title.setTitle(gmfDiagramView.buildPartTemplateTitle(semanticModelElement));
-			returnedValue.add(returnedClassType.cast(title));
-		}
+
 		while (diagramIter.hasNext()) {
 			Image image = DocumentStructureFactory.eINSTANCE.createImage();
 			Diagram current = diagramIter.next();
@@ -103,13 +98,9 @@
 			imagePath = imagePath.replaceAll("file:/", ""); //$NON-NLS-1$ //$NON-NLS-2$
 			GMFDiagramImageUtils.generateImageOfDiagram(current, imagePath, gmfDiagramView.getDiagramImageMargin());
 			image.setFilePath(uri.toString());
-			if (null == title) {
-				returnedValue.add(returnedClassType.cast(image));
-			} else {
-				title.getSubBodyParts().add(image);
-			}
+			returnedValue.add(returnedClassType.cast(image));
 		}
-		return returnedValue;
+		return buildMapperResult(gmfDiagramView, semanticModelElement, returnedClassType, returnedValue);
 	}
 
 }
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/META-INF/MANIFEST.MF b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/META-INF/MANIFEST.MF
index f10eecc..f106a78 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/META-INF/MANIFEST.MF
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/META-INF/MANIFEST.MF
@@ -31,6 +31,9 @@
  org.eclipse.papyrus.infra.emf.expressions.edit;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.author.edit;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)"
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.8.0,1.0.0)"
 Import-Package: org.osgi.framework
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusNattableDocumentStructureTemplateEditPlugin.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusNattableDocumentStructureTemplateEditPlugin.java
index 20b8ccc..eba2fcb 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusNattableDocumentStructureTemplateEditPlugin.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusNattableDocumentStructureTemplateEditPlugin.java
@@ -21,8 +21,10 @@
 
 import org.eclipse.papyrus.infra.emf.expressions.provider.ExpressionsEditPlugin;
 import org.eclipse.papyrus.model2doc.core.author.provider.AuthorEditPlugin;
+import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesEditPlugin;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorconfigurationEditPlugin;
 
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesEditPlugin;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.provider.DocumentStructureTemplateEditPlugin;
 
 import org.osgi.framework.BundleActivator;
@@ -63,6 +65,8 @@
 				GeneratorconfigurationEditPlugin.INSTANCE,
 				AuthorEditPlugin.INSTANCE,
 				ExpressionsEditPlugin.INSTANCE,
+				BuiltInTypesEditPlugin.INSTANCE,
+				StylesEditPlugin.INSTANCE,
 		});
 	}
 
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusTableViewItemProvider.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusTableViewItemProvider.java
index 9df9349..19cfb60 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusTableViewItemProvider.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/provider/PapyrusTableViewItemProvider.java
@@ -80,6 +80,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addTableKindIdPropertyDescriptor(object);
 			addTableTypePropertyDescriptor(object);
 			addContextFilterRulePropertyDescriptor(object);
@@ -149,6 +151,46 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Table Kind Id feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -310,6 +352,8 @@
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE:
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_TITLE:
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__CUSTOM_TITLE:
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY:
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_KIND_ID:
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_TYPE:
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__CONTEXT_FILTER_RULE:
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/META-INF/MANIFEST.MF b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/META-INF/MANIFEST.MF
index 92d9479..7a67e73 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/META-INF/MANIFEST.MF
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/META-INF/MANIFEST.MF
@@ -10,7 +10,9 @@
  org.eclipse.papyrus.model2doc.core.generatorconfiguration;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.infra.nattable.model;bundle-version="[5.0.0,6.0.0)",
  org.eclipse.papyrus.infra.emf.expressions;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.model2doc.core.author;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.author;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/model/papyrusnattabledocumentstructuretemplate.genmodel b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/model/papyrusnattabledocumentstructuretemplate.genmodel
index 4d6c47b..9e5c452 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/model/papyrusnattabledocumentstructuretemplate.genmodel
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/model/papyrusnattabledocumentstructuretemplate.genmodel
@@ -11,7 +11,7 @@
     nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     codeFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.tests/src-gen"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
-    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions"
+    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
     operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
     pluralizedGetters="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/PapyrusNattableDocumentStructureTemplatePackage.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/PapyrusNattableDocumentStructureTemplatePackage.java
index 9972899..861f0ca 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/PapyrusNattableDocumentStructureTemplatePackage.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/PapyrusNattableDocumentStructureTemplatePackage.java
@@ -118,6 +118,24 @@
 	int PAPYRUS_TABLE_VIEW__GENERATE_BRANCH_CONDITION = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Table Kind Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusNattableDocumentStructureTemplatePackageImpl.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusNattableDocumentStructureTemplatePackageImpl.java
index 5ee4af9..307aed1 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusNattableDocumentStructureTemplatePackageImpl.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusNattableDocumentStructureTemplatePackageImpl.java
@@ -26,8 +26,10 @@
 import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
 
 import org.eclipse.papyrus.model2doc.core.author.AuthorPackage;
+import org.eclipse.papyrus.model2doc.core.builtintypes.BuiltInTypesPackage;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.GeneratorConfigurationPackage;
 
+import org.eclipse.papyrus.model2doc.core.styles.StylesPackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 
 import org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.ContextFilterBehavior;
@@ -128,6 +130,8 @@
 		GeneratorConfigurationPackage.eINSTANCE.eClass();
 		AuthorPackage.eINSTANCE.eClass();
 		ExpressionsPackage.eINSTANCE.eClass();
+		BuiltInTypesPackage.eINSTANCE.eClass();
+		StylesPackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
 		thePapyrusNattableDocumentStructureTemplatePackage.createPackageContents();
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusTableViewImpl.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusTableViewImpl.java
index c14aa3a..de2f86d 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusTableViewImpl.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/nattable/documentstructuretemplate/impl/PapyrusTableViewImpl.java
@@ -47,6 +47,8 @@
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getTableKindId <em>Table Kind Id</em>}</li>
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getTableType <em>Table Type</em>}</li>
  *   <li>{@link org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.impl.PapyrusTableViewImpl#getContextFilterRule <em>Context Filter Rule</em>}</li>
@@ -127,6 +129,46 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The default value of the '{@link #getTableKindId() <em>Table Kind Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -356,6 +398,54 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
 	public String getTableKindId() {
 		return tableKindId;
 	}
@@ -515,6 +605,10 @@
 			return getCustomTitle();
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_KIND_ID:
 			return getTableKindId();
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_TYPE:
@@ -547,6 +641,12 @@
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_KIND_ID:
 			setTableKindId((String) newValue);
 			return;
@@ -583,6 +683,12 @@
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_KIND_ID:
 			setTableKindId(TABLE_KIND_ID_EDEFAULT);
 			return;
@@ -615,6 +721,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_KIND_ID:
 			return TABLE_KIND_ID_EDEFAULT == null ? tableKindId != null : !TABLE_KIND_ID_EDEFAULT.equals(tableKindId);
 		case PapyrusNattableDocumentStructureTemplatePackage.PAPYRUS_TABLE_VIEW__TABLE_TYPE:
@@ -663,6 +773,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", tableKindId: "); //$NON-NLS-1$
 		result.append(tableKindId);
 		result.append(", tableType: "); //$NON-NLS-1$
diff --git a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.template2structure/src/org/eclipse/papyrus/model2doc/integration/nattable/template2structure/internal/mapping/PapyrusTableViewMapper.java b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.template2structure/src/org/eclipse/papyrus/model2doc/integration/nattable/template2structure/internal/mapping/PapyrusTableViewMapper.java
index a51c028..89ede59 100755
--- a/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.template2structure/src/org/eclipse/papyrus/model2doc/integration/nattable/template2structure/internal/mapping/PapyrusTableViewMapper.java
+++ b/plugins/integration/nattable/org.eclipse.papyrus.model2doc.integration.nattable.template2structure/src/org/eclipse/papyrus/model2doc/integration/nattable/template2structure/internal/mapping/PapyrusTableViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019, 2020 CEA LIST and others.
+ * Copyright (c) 2019-2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -11,7 +11,9 @@
  * Contributors:
  *    Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
  *    Vincent Lorenzo (CEA LIST) - bug 549183
- * 	  Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 569249
+ *    Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 569249
+ *    Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
+ *
  *****************************************************************************/
 
 package org.eclipse.papyrus.model2doc.integration.nattable.template2structure.internal.mapping;
@@ -65,10 +67,9 @@
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedBasicTable;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedTextCell;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Image;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplate;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.utils.DocumentStructureTemplateUtils;
-import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.PapyrusNattableDocumentStructureTemplatePackage;
 import org.eclipse.papyrus.model2doc.integration.nattable.documentstructuretemplate.PapyrusTableView;
@@ -79,7 +80,7 @@
 /**
  * This class create the DocumentStructure {@link Image} or Table from a {@link PapyrusTableView}
  */
-public class PapyrusTableViewMapper extends AbstractTemplateToStructureMapper<PapyrusTableView> {
+public class PapyrusTableViewMapper extends AbstractBodyPartTemplateToStructureMapper<PapyrusTableView> {
 
 	/**
 	 * Constructor.
@@ -116,12 +117,7 @@
 
 
 		final Iterator<Table> tableIter = papyrusTableView.getMatchingTables(semanticModelElement).iterator();
-		Title title = null;
-		if (tableIter.hasNext() && papyrusTableView.isGenerateTitle()) {
-			title = DocumentStructureFactory.eINSTANCE.createTitle();
-			title.setTitle(papyrusTableView.buildPartTemplateTitle(semanticModelElement));
-			returnedValue.add(returnedClassType.cast(title));
-		}
+
 		while (tableIter.hasNext()) {
 			Table current = tableIter.next();
 
@@ -131,13 +127,10 @@
 			if (null == mapResult || mapResult.isEmpty()) {
 				Activator.log.warn(NLS.bind("We fail to import the table {0}.", current.getName())); //$NON-NLS-1$
 			}
-			if (null == title) {
-				returnedValue.addAll((Collection<? extends T>) mapResult);
-			} else {
-				title.getSubBodyParts().addAll(mapResult);
-			}
+			returnedValue.addAll((Collection<? extends T>) mapResult);
+
 		}
-		return returnedValue;
+		return buildMapperResult(papyrusTableView, semanticModelElement, returnedClassType, returnedValue);
 	}
 
 
@@ -526,5 +519,4 @@
 		});
 	}
 
-
 }
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
index 3fef3b5..8e29cb6 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/META-INF/MANIFEST.MF
@@ -33,5 +33,7 @@
  org.eclipse.papyrus.model2doc.core.author.edit;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)"
+ org.eclipse.papyrus.infra.core.architecture;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDiagramViewItemProvider.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDiagramViewItemProvider.java
index b3c190a..9b6ae87 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDiagramViewItemProvider.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDiagramViewItemProvider.java
@@ -83,6 +83,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addDiagramKindIdPropertyDescriptor(object);
 			addDiagramTypePropertyDescriptor(object);
 			addContextFilterRulePropertyDescriptor(object);
@@ -156,6 +158,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Diagram Kind Id feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -348,6 +392,8 @@
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE:
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_TITLE:
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__CUSTOM_TITLE:
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID:
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__CONTEXT_FILTER_RULE:
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDocumentStructureTemplateEditPlugin.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDocumentStructureTemplateEditPlugin.java
index 9af8d6c..1225f12 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDocumentStructureTemplateEditPlugin.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/provider/PapyrusGMFDocumentStructureTemplateEditPlugin.java
@@ -24,6 +24,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesEditPlugin;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorconfigurationEditPlugin;
 
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesEditPlugin;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.provider.DocumentStructureTemplateEditPlugin;
 
 import org.osgi.framework.BundleActivator;
@@ -69,6 +70,7 @@
 				AuthorEditPlugin.INSTANCE,
 				BuiltInTypesEditPlugin.INSTANCE,
 				ExpressionsEditPlugin.INSTANCE,
+				StylesEditPlugin.INSTANCE,
 		});
 	}
 
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/META-INF/MANIFEST.MF b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
index 5d24dc1..cdff31d 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/META-INF/MANIFEST.MF
@@ -17,7 +17,8 @@
  org.eclipse.papyrus.infra.gmfdiag.style;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.infra.emf.expressions;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.author;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)"
 Bundle-RequiredExecutionEnvironment: JavaSE-11
 Export-Package: org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate,
  org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl,
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/model/papyrusgmfdocumentstructuretemplate.genmodel b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/model/papyrusgmfdocumentstructuretemplate.genmodel
index 0980f88..d356bff 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/model/papyrusgmfdocumentstructuretemplate.genmodel
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/model/papyrusgmfdocumentstructuretemplate.genmodel
@@ -11,7 +11,7 @@
     nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.tests/src-gen"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
-    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions/booleanexpressions ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions"
+    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions/booleanexpressions ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
     operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
     pluralizedGetters="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDiagramView.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDiagramView.java
index 9c68ab5..7264815 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDiagramView.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDiagramView.java
@@ -68,7 +68,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @param value
-	 *            the new value of the '<em>Diagram Kind Id</em>' attribute.
+	 *                  the new value of the '<em>Diagram Kind Id</em>' attribute.
 	 * @see #getDiagramKindId()
 	 * @generated
 	 */
@@ -96,7 +96,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @param value
-	 *            the new value of the '<em>Diagram Type</em>' attribute.
+	 *                  the new value of the '<em>Diagram Type</em>' attribute.
 	 * @see #getDiagramType()
 	 * @generated
 	 */
@@ -126,7 +126,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @param value
-	 *            the new value of the '<em>Context Filter Rule</em>' attribute.
+	 *                  the new value of the '<em>Context Filter Rule</em>' attribute.
 	 * @see org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.ContextFilterBehavior
 	 * @see #getContextFilterRule()
 	 * @generated
@@ -156,7 +156,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @param value
-	 *            the new value of the '<em>Diagram Image Margin</em>' attribute.
+	 *                  the new value of the '<em>Diagram Image Margin</em>' attribute.
 	 * @see #getDiagramImageMargin()
 	 * @generated
 	 */
@@ -187,7 +187,7 @@
 	 * <!-- end-user-doc -->
 	 *
 	 * @param value
-	 *            the new value of the '<em>Image Format</em>' attribute.
+	 *                  the new value of the '<em>Image Format</em>' attribute.
 	 * @see org.eclipse.papyrus.model2doc.core.builtintypes.ImageFormat
 	 * @see #getImageFormat()
 	 * @generated
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDocumentStructureTemplatePackage.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDocumentStructureTemplatePackage.java
index 7f9694e..dea4106 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDocumentStructureTemplatePackage.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/PapyrusGMFDocumentStructureTemplatePackage.java
@@ -128,6 +128,26 @@
 	int PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Diagram Kind Id</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -135,7 +155,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 4;
+	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Diagram Type</b></em>' attribute.
@@ -145,7 +165,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_TYPE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 5;
+	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_TYPE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Context Filter Rule</b></em>' attribute.
@@ -155,7 +175,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW__CONTEXT_FILTER_RULE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 6;
+	int PAPYRUS_GMF_DIAGRAM_VIEW__CONTEXT_FILTER_RULE = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 8;
 
 	/**
 	 * The feature id for the '<em><b>Diagram Image Margin</b></em>' attribute.
@@ -165,7 +185,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 7;
+	int PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_IMAGE_MARGIN = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 9;
 
 	/**
 	 * The feature id for the '<em><b>Image Format</b></em>' attribute.
@@ -175,7 +195,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW__IMAGE_FORMAT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 8;
+	int PAPYRUS_GMF_DIAGRAM_VIEW__IMAGE_FORMAT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 10;
 
 	/**
 	 * The number of structural features of the '<em>Papyrus GMF Diagram View</em>' class.
@@ -185,7 +205,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int PAPYRUS_GMF_DIAGRAM_VIEW_FEATURE_COUNT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 9;
+	int PAPYRUS_GMF_DIAGRAM_VIEW_FEATURE_COUNT = DocumentStructureTemplatePackage.ITEMPLATE_PART_VIEW_FEATURE_COUNT + 11;
 
 	/**
 	 * The operation id for the '<em>Build Part Template Title</em>' operation.
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDiagramViewImpl.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDiagramViewImpl.java
index 06c6ce3..92461d7 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDiagramViewImpl.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDiagramViewImpl.java
@@ -46,6 +46,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getDiagramKindId <em>Diagram Kind Id</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getDiagramType <em>Diagram Type</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.impl.PapyrusGMFDiagramViewImpl#getContextFilterRule <em>Context Filter Rule</em>}</li>
@@ -134,6 +136,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The default value of the '{@link #getDiagramKindId() <em>Diagram Kind Id</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -405,6 +451,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public String getDiagramKindId() {
 		return diagramKindId;
 	}
@@ -602,6 +700,10 @@
 			return getCustomTitle();
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID:
 			return getDiagramKindId();
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
@@ -637,6 +739,12 @@
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID:
 			setDiagramKindId((String) newValue);
 			return;
@@ -677,6 +785,12 @@
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID:
 			setDiagramKindId(DIAGRAM_KIND_ID_EDEFAULT);
 			return;
@@ -713,6 +827,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_KIND_ID:
 			return DIAGRAM_KIND_ID_EDEFAULT == null ? diagramKindId != null : !DIAGRAM_KIND_ID_EDEFAULT.equals(diagramKindId);
 		case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DIAGRAM_TYPE:
@@ -745,6 +863,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -782,6 +904,10 @@
 				return PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return PapyrusGMFDocumentStructureTemplatePackage.PAPYRUS_GMF_DIAGRAM_VIEW__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -872,6 +998,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", diagramKindId: "); //$NON-NLS-1$
 		result.append(diagramKindId);
 		result.append(", diagramType: "); //$NON-NLS-1$
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDocumentStructureTemplatePackageImpl.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDocumentStructureTemplatePackageImpl.java
index ac3336a..09deecb 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDocumentStructureTemplatePackageImpl.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/impl/PapyrusGMFDocumentStructureTemplatePackageImpl.java
@@ -30,6 +30,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.BuiltInTypesPackage;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.GeneratorConfigurationPackage;
 
+import org.eclipse.papyrus.model2doc.core.styles.StylesPackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 
 import org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.ContextFilterBehavior;
@@ -133,6 +134,7 @@
 		BuiltInTypesPackage.eINSTANCE.eClass();
 		BooleanExpressionsPackage.eINSTANCE.eClass();
 		ExpressionsPackage.eINSTANCE.eClass();
+		StylesPackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
 		thePapyrusGMFDocumentStructureTemplatePackage.createPackageContents();
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/util/PapyrusGMFDocumentStructureTemplateAdapterFactory.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/util/PapyrusGMFDocumentStructureTemplateAdapterFactory.java
index 6e7fd2e..7493fea 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/util/PapyrusGMFDocumentStructureTemplateAdapterFactory.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/integration/gmf/documentstructuretemplate/util/PapyrusGMFDocumentStructureTemplateAdapterFactory.java
@@ -88,7 +88,7 @@
 	 *
 	 * @generated
 	 */
-	protected PapyrusGMFDocumentStructureTemplateSwitch<Adapter> modelSwitch = new PapyrusGMFDocumentStructureTemplateSwitch<Adapter>() {
+	protected PapyrusGMFDocumentStructureTemplateSwitch<Adapter> modelSwitch = new PapyrusGMFDocumentStructureTemplateSwitch<>() {
 		@Override
 		public Adapter casePapyrusGMFDiagramView(PapyrusGMFDiagramView object) {
 			return createPapyrusGMFDiagramViewAdapter();
diff --git a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.template2structure/src/org/eclipse/papyrus/model2doc/integration/gmf/template2structure/internal/mapping/PapyrusGMFDiagramViewMapper.java b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.template2structure/src/org/eclipse/papyrus/model2doc/integration/gmf/template2structure/internal/mapping/PapyrusGMFDiagramViewMapper.java
index 9b72326..d3cdd5a 100755
--- a/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.template2structure/src/org/eclipse/papyrus/model2doc/integration/gmf/template2structure/internal/mapping/PapyrusGMFDiagramViewMapper.java
+++ b/plugins/integration/org.eclipse.papyrus.model2doc.integration.gmf.template2structure/src/org/eclipse/papyrus/model2doc/integration/gmf/template2structure/internal/mapping/PapyrusGMFDiagramViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  *    Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ *    Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -28,9 +29,8 @@
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.accessors.IOutputFileAccessor;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Image;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentTemplate;
-import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.PapyrusGMFDiagramView;
 import org.eclipse.papyrus.model2doc.integration.gmf.documentstructuretemplate.PapyrusGMFDocumentStructureTemplatePackage;
@@ -39,7 +39,7 @@
 /**
  * this class is in charge to create {@link Image} from {@link PapyrusGMFDiagramView}
  */
-public class PapyrusGMFDiagramViewMapper extends AbstractTemplateToStructureMapper<PapyrusGMFDiagramView> {
+public class PapyrusGMFDiagramViewMapper extends AbstractBodyPartTemplateToStructureMapper<PapyrusGMFDiagramView> {
 
 	/**
 	 * Constructor.
@@ -74,12 +74,7 @@
 
 
 		final Iterator<Diagram> diagramIter = gmfDiagramView.getMatchingDiagrams(semanticModelElement).iterator();
-		Title title = null;
-		if (diagramIter.hasNext() && gmfDiagramView.isGenerateTitle()) {
-			title = DocumentStructureFactory.eINSTANCE.createTitle();
-			title.setTitle(gmfDiagramView.buildPartTemplateTitle(semanticModelElement));
-			returnedValue.add(returnedClassType.cast(title));
-		}
+
 		while (diagramIter.hasNext()) {
 			Image image = DocumentStructureFactory.eINSTANCE.createImage();
 			Diagram current = diagramIter.next();
@@ -112,14 +107,9 @@
 			imagePath = imagePath.replaceAll("file:/", ""); //$NON-NLS-1$ //$NON-NLS-2$
 			GMFDiagramImageUtils.generateImageOfDiagram(current, imagePath, gmfDiagramView.getDiagramImageMargin(), gmfDiagramView.getImageFormat());
 			image.setFilePath(uri.toString());
-			if (null == title) {
-				returnedValue.add(returnedClassType.cast(image));
-			} else {
-				title.getSubBodyParts().add(image);
-			}
+			returnedValue.add(returnedClassType.cast(image));
 		}
-		return returnedValue;
+		return buildMapperResult(gmfDiagramView, semanticModelElement, returnedClassType, returnedValue);
 	}
 
-
 }
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/META-INF/MANIFEST.MF
index 1e0839d..5a20833 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/META-INF/MANIFEST.MF
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/META-INF/MANIFEST.MF
@@ -32,5 +32,7 @@
  org.eclipse.papyrus.infra.emf.expressions.edit;bundle-version="[2.0.0,3.0.0)",
  org.eclipse.papyrus.model2doc.core.author.edit;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes.edit;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles.edit;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/CommentAsParagraphItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/CommentAsParagraphItemProvider.java
index 7ceeab3..86fa125 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/CommentAsParagraphItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/CommentAsParagraphItemProvider.java
@@ -82,6 +82,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addCommentChoicePropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
@@ -151,6 +153,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Comment Choice feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -257,6 +301,8 @@
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE:
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_TITLE:
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__CUSTOM_TITLE:
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__COMMENT_CHOICE:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
index d644b54..c40e760 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePartTemplateItemProvider.java
@@ -69,6 +69,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -137,6 +139,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -223,6 +267,8 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_TITLE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__CUSTOM_TITLE:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java
index c5540b5..1512171 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyAttributeAsParagraphItemProvider.java
@@ -68,6 +68,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -136,6 +138,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -221,6 +265,8 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_TITLE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferencePartTemplateItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferencePartTemplateItemProvider.java
index 599c389..93c95cb 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferencePartTemplateItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferencePartTemplateItemProvider.java
@@ -69,6 +69,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -137,6 +139,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
 	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
 	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -223,6 +267,8 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_TITLE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__CUSTOM_TITLE:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferenceTableViewItemProvider.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferenceTableViewItemProvider.java
index 2e10078..d2ef607 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferenceTableViewItemProvider.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/StereotypePropertyReferenceTableViewItemProvider.java
@@ -69,6 +69,8 @@
 			addGeneratePropertyDescriptor(object);
 			addGenerateTitlePropertyDescriptor(object);
 			addCustomTitlePropertyDescriptor(object);
+			addGenerateIfEmptyPropertyDescriptor(object);
+			addDefaultTextIfEmptyPropertyDescriptor(object);
 			addGenerateRowHeaderPropertyDescriptor(object);
 			addGenerateColumnHeaderPropertyDescriptor(object);
 		}
@@ -139,6 +141,48 @@
 	}
 
 	/**
+	 * This adds a property descriptor for the Generate If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addGenerateIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_generateIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_generateIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Default Text If Empty feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	protected void addDefaultTextIfEmptyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+				getResourceLocator(),
+				getString("_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature"), //$NON-NLS-1$
+				getString("_UI_PropertyDescriptor_description", "_UI_IBodySectionPartTemplate_defaultTextIfEmpty_feature", "_UI_IBodySectionPartTemplate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				DocumentStructureTemplatePackage.Literals.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY,
+				true,
+				false,
+				false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+				null,
+				null));
+	}
+
+	/**
 	 * This adds a property descriptor for the Generate Row Header feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -267,6 +311,8 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_TITLE:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__CUSTOM_TITLE:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateEditPlugin.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateEditPlugin.java
index e4c2088..6cdffe5 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateEditPlugin.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.edit/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/provider/UMLDocumentStructureTemplateEditPlugin.java
@@ -24,6 +24,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.provider.BuiltInTypesEditPlugin;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.provider.GeneratorconfigurationEditPlugin;
 
+import org.eclipse.papyrus.model2doc.core.styles.provider.StylesEditPlugin;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.provider.DocumentStructureTemplateEditPlugin;
 
 import org.osgi.framework.BundleActivator;
@@ -69,6 +70,7 @@
 				AuthorEditPlugin.INSTANCE,
 				ExpressionsEditPlugin.INSTANCE,
 				BuiltInTypesEditPlugin.INSTANCE,
+				StylesEditPlugin.INSTANCE,
 		});
 	}
 
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/META-INF/MANIFEST.MF
index fca0b38..e8d1a8d 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/META-INF/MANIFEST.MF
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/META-INF/MANIFEST.MF
@@ -19,5 +19,6 @@
  org.eclipse.jface;bundle-version="[3.0.0,4.0.0)",
  org.eclipse.papyrus.model2doc.core.author;bundle-version="[0.7.0,1.0.0)",
  org.eclipse.papyrus.infra.emf.expressions;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)"
+ org.eclipse.papyrus.model2doc.core.builtintypes;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.model2doc.core.styles;bundle-version="[0.8.0,1.0.0)"
 Bundle-ActivationPolicy: lazy
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
index da2776a..92521f0 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/model/umldocumentstructuretemplate.genmodel
@@ -10,7 +10,7 @@
     nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
     codeFormatting="true" commentFormatting="true" testsDirectory="/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.tests/src-gen"
     importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="8.0" copyrightFields="false"
-    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes"
+    usedGenPackages="../../org.eclipse.papyrus.model2doc.emf.documentstructuretemplate/model/documentstructuretemplate.genmodel#//documentstructuretemplate ../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.papyrus.model2doc.core.generatorconfiguration/model/generatorconfiguration.genmodel#//generatorconfiguration ../../org.eclipse.papyrus.model2doc.core.author/model/author.genmodel#//author ../../org.eclipse.papyrus.infra.emf.expressions/model/expressions.genmodel#//expressions ../../org.eclipse.papyrus.model2doc.core.builtintypes/model/BuiltInTypes.genmodel#//builtintypes ../../org.eclipse.papyrus.model2doc.core.styles/model/Styles.genmodel#//styles"
     operationReflection="true" importOrganizing="true" cleanup="true" oSGiCompatible="true"
     pluralizedGetters="true">
   <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
index 0c41eee..1d7551d 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/UMLDocumentStructureTemplatePackage.java
@@ -259,6 +259,26 @@
 	int STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -266,7 +286,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 4;
+	int STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The number of structural features of the '<em>Stereotype Part Template</em>' class.
@@ -276,7 +296,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PART_TEMPLATE_FEATURE_COUNT = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 5;
+	int STEREOTYPE_PART_TEMPLATE_FEATURE_COUNT = MANDATORY_STEREOTYPE_WITH_ECLASS_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The operation id for the '<em>Is Matching Filter Rule</em>' operation.
@@ -502,6 +522,26 @@
 	int IUML_BODY_PART_TEMPLATE_TITLE__GENERATE_BRANCH_CONDITION = DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IUML_BODY_PART_TEMPLATE_TITLE__GENERATE_IF_EMPTY = DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int IUML_BODY_PART_TEMPLATE_TITLE__DEFAULT_TEXT_IF_EMPTY = DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The number of structural features of the '<em>IUML Body Part Template Title</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -704,6 +744,26 @@
 	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Sub Body Part Template</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -711,7 +771,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The number of structural features of the '<em>Stereotype Property Reference Part Template</em>' class.
@@ -721,7 +781,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 5;
+	int STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The operation id for the '<em>Get First Matching Stereotype Application</em>' operation.
@@ -910,6 +970,26 @@
 	int COMMENT_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__GENERATE_IF_EMPTY;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY = DocumentStructureTemplatePackage.ILEAF_BODY_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
+
+	/**
 	 * The feature id for the '<em><b>Comment Choice</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1250,6 +1330,26 @@
 	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The feature id for the '<em><b>Columns</b></em>' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1257,7 +1357,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The feature id for the '<em><b>Generate Row Header</b></em>' attribute.
@@ -1267,7 +1367,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 5;
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 7;
 
 	/**
 	 * The feature id for the '<em><b>Generate Column Header</b></em>' attribute.
@@ -1277,7 +1377,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 6;
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_COLUMN_HEADER = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 8;
 
 	/**
 	 * The number of structural features of the '<em>Stereotype Property Reference Table View</em>' class.
@@ -1287,7 +1387,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 7;
+	int STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 9;
 
 	/**
 	 * The operation id for the '<em>Get First Matching Stereotype Application</em>' operation.
@@ -1986,6 +2086,26 @@
 	int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 3;
 
 	/**
+	 * The feature id for the '<em><b>Generate If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+
+	/**
+	 * The feature id for the '<em><b>Default Text If Empty</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 * @ordered
+	 */
+	int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 5;
+
+	/**
 	 * The number of structural features of the '<em>Stereotype Property Attribute As Paragraph</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1993,7 +2113,7 @@
 	 * @generated
 	 * @ordered
 	 */
-	int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 4;
+	int STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH_FEATURE_COUNT = STEREOTYPE_PROPERTY_TEMPLATE_FEATURE_COUNT + 6;
 
 	/**
 	 * The operation id for the '<em>Get First Matching Stereotype Application</em>' operation.
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/CommentAsParagraphImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/CommentAsParagraphImpl.java
index b5eb559..6ce8079 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/CommentAsParagraphImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/CommentAsParagraphImpl.java
@@ -46,6 +46,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.CommentAsParagraphImpl#getCommentChoice <em>Comment Choice</em>}</li>
  * </ul>
  *
@@ -130,6 +132,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The default value of the '{@link #getCommentChoice() <em>Comment Choice</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -313,6 +359,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public CommentChoice getCommentChoice() {
 		return commentChoice;
 	}
@@ -421,6 +519,10 @@
 			return getCustomTitle();
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__COMMENT_CHOICE:
 			return getCommentChoice();
 		}
@@ -448,6 +550,12 @@
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__COMMENT_CHOICE:
 			setCommentChoice((CommentChoice) newValue);
 			return;
@@ -476,6 +584,12 @@
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__COMMENT_CHOICE:
 			setCommentChoice(COMMENT_CHOICE_EDEFAULT);
 			return;
@@ -500,6 +614,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case UMLDocumentStructureTemplatePackage.COMMENT_AS_PARAGRAPH__COMMENT_CHOICE:
 			return commentChoice != COMMENT_CHOICE_EDEFAULT;
 		}
@@ -544,6 +662,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", commentChoice: "); //$NON-NLS-1$
 		result.append(commentChoice);
 		result.append(')');
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePartTemplateImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePartTemplateImpl.java
index 099f919..d53ccc8 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePartTemplateImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePartTemplateImpl.java
@@ -54,6 +54,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePartTemplateImpl#getBodyPartTemplates <em>Body Part Template</em>}</li>
  * </ul>
  *
@@ -138,6 +140,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getBodyPartTemplates() <em>Body Part Template</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -310,6 +356,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<IBodyPartTemplate> getBodyPartTemplates() {
 		if (bodyPartTemplates == null) {
 			bodyPartTemplates = new EObjectContainmentEList<>(IBodyPartTemplate.class, this, UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE);
@@ -380,6 +478,10 @@
 			return getCustomTitle();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			return getBodyPartTemplates();
 		}
@@ -408,6 +510,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			getBodyPartTemplates().clear();
 			getBodyPartTemplates().addAll((Collection<? extends IBodyPartTemplate>) newValue);
@@ -437,6 +545,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			getBodyPartTemplates().clear();
 			return;
@@ -461,6 +575,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__BODY_PART_TEMPLATE:
 			return bodyPartTemplates != null && !bodyPartTemplates.isEmpty();
 		}
@@ -485,6 +603,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -530,6 +652,10 @@
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -632,6 +758,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java
index 3f27618..78745c0 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyAttributeAsParagraphImpl.java
@@ -51,6 +51,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyAttributeAsParagraphImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * </ul>
  *
  * @generated
@@ -134,6 +136,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 *
@@ -295,6 +341,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public String buildPartTemplateTitle(final EObject context) {
 		return org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.internal.operations.UMLBodySectionPartTemplateTitleHelper.UML_INSTANCE.buildPartTemplateTitle(this, context);
 	}
@@ -349,6 +447,10 @@
 			return getCustomTitle();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -374,6 +476,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -399,6 +507,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -420,6 +534,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -448,6 +566,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -503,6 +625,10 @@
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_ATTRIBUTE_AS_PARAGRAPH__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -621,6 +747,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferencePartTemplateImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferencePartTemplateImpl.java
index 0192085..414ec57 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferencePartTemplateImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferencePartTemplateImpl.java
@@ -55,6 +55,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferencePartTemplateImpl#getSubBodyPartTemplates <em>Sub Body Part Template</em>}</li>
  * </ul>
  *
@@ -139,6 +141,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getSubBodyPartTemplates() <em>Sub Body Part Template</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -311,6 +357,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<ISubBodyPartTemplate> getSubBodyPartTemplates() {
 		if (subBodyPartTemplates == null) {
 			subBodyPartTemplates = new EObjectContainmentEList<>(ISubBodyPartTemplate.class, this, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE);
@@ -397,6 +495,10 @@
 			return getCustomTitle();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			return getSubBodyPartTemplates();
 		}
@@ -425,6 +527,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			getSubBodyPartTemplates().clear();
 			getSubBodyPartTemplates().addAll((Collection<? extends ISubBodyPartTemplate>) newValue);
@@ -454,6 +562,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			getSubBodyPartTemplates().clear();
 			return;
@@ -478,6 +592,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__SUB_BODY_PART_TEMPLATE:
 			return subBodyPartTemplates != null && !subBodyPartTemplates.isEmpty();
 		}
@@ -502,6 +620,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -553,6 +675,10 @@
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -669,6 +795,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferenceTableViewImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferenceTableViewImpl.java
index 3771af8..203b57e 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferenceTableViewImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/StereotypePropertyReferenceTableViewImpl.java
@@ -57,6 +57,8 @@
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#isGenerateTitle <em>Generate Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#getCustomTitle <em>Custom Title</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#getGenerateBranchCondition <em>Generate Branch Condition</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#isGenerateIfEmpty <em>Generate If Empty</em>}</li>
+ * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#getDefaultTextIfEmpty <em>Default Text If Empty</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#getColumns <em>Columns</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#isGenerateRowHeader <em>Generate Row Header</em>}</li>
  * <li>{@link org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.impl.StereotypePropertyReferenceTableViewImpl#isGenerateColumnHeader <em>Generate Column Header</em>}</li>
@@ -143,6 +145,50 @@
 	protected IBooleanEObjectExpression generateBranchCondition;
 
 	/**
+	 * The default value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final boolean GENERATE_IF_EMPTY_EDEFAULT = false;
+
+	/**
+	 * The cached value of the '{@link #isGenerateIfEmpty() <em>Generate If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #isGenerateIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected boolean generateIfEmpty = GENERATE_IF_EMPTY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DEFAULT_TEXT_IF_EMPTY_EDEFAULT = "N/A"; //$NON-NLS-1$
+
+	/**
+	 * The cached value of the '{@link #getDefaultTextIfEmpty() <em>Default Text If Empty</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @see #getDefaultTextIfEmpty()
+	 * @generated
+	 * @ordered
+	 */
+	protected String defaultTextIfEmpty = DEFAULT_TEXT_IF_EMPTY_EDEFAULT;
+
+	/**
 	 * The cached value of the '{@link #getColumns() <em>Columns</em>}' containment reference list.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -359,6 +405,58 @@
 	 * @generated
 	 */
 	@Override
+	public boolean isGenerateIfEmpty() {
+		return generateIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setGenerateIfEmpty(boolean newGenerateIfEmpty) {
+		boolean oldGenerateIfEmpty = generateIfEmpty;
+		generateIfEmpty = newGenerateIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY, oldGenerateIfEmpty, generateIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public String getDefaultTextIfEmpty() {
+		return defaultTextIfEmpty;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
+	public void setDefaultTextIfEmpty(String newDefaultTextIfEmpty) {
+		String oldDefaultTextIfEmpty = defaultTextIfEmpty;
+		defaultTextIfEmpty = newDefaultTextIfEmpty;
+		if (eNotificationRequired()) {
+			eNotify(new ENotificationImpl(this, Notification.SET, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY, oldDefaultTextIfEmpty, defaultTextIfEmpty));
+		}
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 *
+	 * @generated
+	 */
+	@Override
 	public EList<IColumn> getColumns() {
 		if (columns == null) {
 			columns = new EObjectContainmentEList<>(IColumn.class, this, UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS);
@@ -509,6 +607,10 @@
 			return getCustomTitle();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return getGenerateBranchCondition();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return isGenerateIfEmpty();
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return getDefaultTextIfEmpty();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS:
 			return getColumns();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
@@ -541,6 +643,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) newValue);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty((Boolean) newValue);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty((String) newValue);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS:
 			getColumns().clear();
 			getColumns().addAll((Collection<? extends IColumn>) newValue);
@@ -576,6 +684,12 @@
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			setGenerateBranchCondition((IBooleanEObjectExpression) null);
 			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			setGenerateIfEmpty(GENERATE_IF_EMPTY_EDEFAULT);
+			return;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			setDefaultTextIfEmpty(DEFAULT_TEXT_IF_EMPTY_EDEFAULT);
+			return;
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS:
 			getColumns().clear();
 			return;
@@ -606,6 +720,10 @@
 			return CUSTOM_TITLE_EDEFAULT == null ? customTitle != null : !CUSTOM_TITLE_EDEFAULT.equals(customTitle);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 			return generateBranchCondition != null;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+			return generateIfEmpty != GENERATE_IF_EMPTY_EDEFAULT;
+		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+			return DEFAULT_TEXT_IF_EMPTY_EDEFAULT == null ? defaultTextIfEmpty != null : !DEFAULT_TEXT_IF_EMPTY_EDEFAULT.equals(defaultTextIfEmpty);
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__COLUMNS:
 			return columns != null && !columns.isEmpty();
 		case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_ROW_HEADER:
@@ -634,6 +752,10 @@
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__CUSTOM_TITLE;
 			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION:
 				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY;
+			case UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY:
+				return DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -701,6 +823,10 @@
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__CUSTOM_TITLE;
 			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_BRANCH_CONDITION:
 				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_BRANCH_CONDITION;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__GENERATE_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__GENERATE_IF_EMPTY;
+			case DocumentStructureTemplatePackage.IBODY_SECTION_PART_TEMPLATE__DEFAULT_TEXT_IF_EMPTY:
+				return UMLDocumentStructureTemplatePackage.STEREOTYPE_PROPERTY_REFERENCE_TABLE_VIEW__DEFAULT_TEXT_IF_EMPTY;
 			default:
 				return -1;
 			}
@@ -851,6 +977,10 @@
 		result.append(generateTitle);
 		result.append(", customTitle: "); //$NON-NLS-1$
 		result.append(customTitle);
+		result.append(", generateIfEmpty: "); //$NON-NLS-1$
+		result.append(generateIfEmpty);
+		result.append(", defaultTextIfEmpty: "); //$NON-NLS-1$
+		result.append(defaultTextIfEmpty);
 		result.append(", generateRowHeader: "); //$NON-NLS-1$
 		result.append(generateRowHeader);
 		result.append(", generateColumnHeader: "); //$NON-NLS-1$
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
index 8af62da..87cb8bf 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/impl/UMLDocumentStructureTemplatePackageImpl.java
@@ -30,6 +30,7 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.BuiltInTypesPackage;
 import org.eclipse.papyrus.model2doc.core.generatorconfiguration.GeneratorConfigurationPackage;
 
+import org.eclipse.papyrus.model2doc.core.styles.StylesPackage;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.DocumentStructureTemplatePackage;
 
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.CommentAsParagraph;
@@ -298,6 +299,7 @@
 		AuthorPackage.eINSTANCE.eClass();
 		ExpressionsPackage.eINSTANCE.eClass();
 		BuiltInTypesPackage.eINSTANCE.eClass();
+		StylesPackage.eINSTANCE.eClass();
 
 		// Create package meta-data objects
 		theUMLDocumentStructureTemplatePackage.createPackageContents();
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
index 267a665..6bcf15d 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.documentstructuretemplate/src-gen/org/eclipse/papyrus/model2doc/uml/documentstructuretemplate/util/UMLDocumentStructureTemplateAdapterFactory.java
@@ -100,7 +100,7 @@
 	 *
 	 * @generated
 	 */
-	protected UMLDocumentStructureTemplateSwitch<Adapter> modelSwitch = new UMLDocumentStructureTemplateSwitch<Adapter>() {
+	protected UMLDocumentStructureTemplateSwitch<Adapter> modelSwitch = new UMLDocumentStructureTemplateSwitch<>() {
 		@Override
 		public Adapter caseStereotypePartTemplate(StereotypePartTemplate object) {
 			return createStereotypePartTemplateAdapter();
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/AbstractUMLTemplateToStructureMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/AbstractUMLTemplateToStructureMapper.java
deleted file mode 100755
index fd2528f..0000000
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/AbstractUMLTemplateToStructureMapper.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
- *
- * 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
- * http://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
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.model2doc.uml.template2structure.internal.mappers;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructureFactory;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.DocumentStructurePackage;
-import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractTemplateToStructureMapper;
-import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
-
-/**
- * abstract class for UML mapping element
- *
- */
-public abstract class AbstractUMLTemplateToStructureMapper<INPUT extends EObject> extends AbstractTemplateToStructureMapper<INPUT> {
-
-	protected static final UMLDocumentStructureTemplatePackage TEMPLATE_EPACKAGE = UMLDocumentStructureTemplatePackage.eINSTANCE;
-
-	protected static final DocumentStructureFactory STRUCTURE_EFACTORY = DocumentStructureFactory.eINSTANCE;
-
-	protected static final DocumentStructurePackage STRUCTURE_EPACKAGE = DocumentStructurePackage.eINSTANCE;
-
-	/**
-	 * Constructor.
-	 *
-	 * @param eClass
-	 */
-	public <T> AbstractUMLTemplateToStructureMapper(final EClass inputEClass, final Class<T> outputClass) {
-		super(inputEClass, outputClass);
-		Assert.isTrue(inputEClass.getEPackage() == TEMPLATE_EPACKAGE);
-	}
-
-}
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/CommentAsParagraphMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/CommentAsParagraphMapper.java
index 68ff6c6..ec63cb0 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/CommentAsParagraphMapper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/CommentAsParagraphMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,16 +24,17 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Paragraph;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.CommentAsParagraph;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
 import org.eclipse.uml2.uml.Comment;
 import org.eclipse.uml2.uml.Element;
 
 /**
  * This class does the mapping between {@link CommentAsParagraph} and {@link Paragraph}
  */
-public class CommentAsParagraphMapper extends AbstractUMLTemplateToStructureMapper<CommentAsParagraph> {
+public class CommentAsParagraphMapper extends AbstractBodyPartTemplateToStructureMapper<CommentAsParagraph> {
 
 	/**
 	 * Constructor.
@@ -41,7 +43,7 @@
 	 * @param outputEClass
 	 */
 	public CommentAsParagraphMapper() {
-		super(TEMPLATE_EPACKAGE.getCommentAsParagraph(), BodyPart.class);
+		super(UMLDocumentStructureTemplatePackage.eINSTANCE.getCommentAsParagraph(), BodyPart.class);
 	}
 
 	/**
@@ -63,25 +65,17 @@
 			// This element can't have children, so if isGenerate() returns false, we go out!
 			return Collections.emptyList();
 		}
-		final List<T> returnedValue = new ArrayList<>();
+		final List<T> generatedElements = new ArrayList<>();
 
 		final Iterator<Comment> commentIter = commentAsParagraph.getMatchingComments(semanticModelElement).iterator();
-		Title title = null;
-		if (commentIter.hasNext() && commentAsParagraph.isGenerateTitle()) {
-			title = STRUCTURE_EFACTORY.createTitle();
-			title.setTitle(commentAsParagraph.buildPartTemplateTitle(null));
-			returnedValue.add(returnedClassType.cast(title));
-		}
+
 		while (commentIter.hasNext()) {
 			final Paragraph paragraph = STRUCTURE_EFACTORY.createParagraph();
 			paragraph.setText(commentIter.next().getBody());
-			if (null == title) {
-				returnedValue.add(returnedClassType.cast(paragraph));
-			} else {
-				title.getSubBodyParts().add(paragraph);
-			}
+			generatedElements.add(returnedClassType.cast(paragraph));
 		}
-		return returnedValue;
+
+		return buildMapperResult(commentAsParagraph, semanticModelElement, returnedClassType, generatedElements);
 	}
 
 }
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePartTemplateMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePartTemplateMapper.java
index d22c1ad..8e9e115 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePartTemplateMapper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePartTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,17 +24,18 @@
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePartTemplate;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyReferencePartTemplate;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
 import org.eclipse.uml2.uml.Element;
 
 /**
  * This mapper converts the {@link StereotypePartTemplate} into {@link BodyPart}
  */
-public class StereotypePartTemplateMapper extends AbstractUMLTemplateToStructureMapper<StereotypePartTemplate> {
+public class StereotypePartTemplateMapper extends AbstractBodyPartTemplateToStructureMapper<StereotypePartTemplate> {
 
 	/**
 	 *
@@ -41,7 +43,7 @@
 	 *
 	 */
 	public StereotypePartTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getStereotypePartTemplate(), BodyPart.class);
+		super(UMLDocumentStructureTemplatePackage.eINSTANCE.getStereotypePartTemplate(), BodyPart.class);
 	}
 
 	/**
@@ -62,15 +64,7 @@
 		if (false == semanticModelElement instanceof Element || false == stereotypePartTemplate.isMatchingFilterRule(semanticModelElement)) {
 			return Collections.emptyList();
 		}
-		Title title = null;
 		List<T> returnedElements = new ArrayList<>();
-		if (stereotypePartTemplate.isGenerate()) {
-			if (stereotypePartTemplate.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(stereotypePartTemplate.buildPartTemplateTitle(semanticModelElement));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
 
 		final EObject stereotypeApplication = stereotypePartTemplate.getFirstMatchingStereotypeApplication(semanticModelElement);
 
@@ -90,15 +84,10 @@
 			if (result == null) {
 				continue;
 			}
-			if (title != null) {
-				title.getSubBodyParts().addAll(result);
-			} else {
-				// ensure the cast
-				result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
-			}
-
+			// ensure the cast
+			result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
 		}
-		return returnedElements;
+		return buildMapperResult(stereotypePartTemplate, semanticModelElement, expectedReturnedClass, returnedElements);
 	}
 
 }
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java
index 1887448..0686994 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyAttributeAsParagraphMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2020 CEA LIST and others.
+ * Copyright (c) 2020, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,15 +24,16 @@
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.Paragraph;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyAttributeAsParagraph;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
 import org.eclipse.uml2.uml.Element;
 
 /**
  * This mapper converts the StereotypePropertyAttributeAsParagraph into {@link Paragraph}
  */
-public class StereotypePropertyAttributeAsParagraphMapper extends AbstractUMLTemplateToStructureMapper<StereotypePropertyAttributeAsParagraph> {
+public class StereotypePropertyAttributeAsParagraphMapper extends AbstractBodyPartTemplateToStructureMapper<StereotypePropertyAttributeAsParagraph> {
 
 	private static final String EMPTY_STRING = ""; //$NON-NLS-1$
 
@@ -42,7 +44,7 @@
 	 * @param outputClass
 	 */
 	public StereotypePropertyAttributeAsParagraphMapper() {
-		super(TEMPLATE_EPACKAGE.getStereotypePropertyAttributeAsParagraph(), BodyPart.class);
+		super(UMLDocumentStructureTemplatePackage.eINSTANCE.getStereotypePropertyAttributeAsParagraph(), BodyPart.class);
 	}
 
 	/**
@@ -68,12 +70,6 @@
 		final List<T> returnedValue = new ArrayList<>();
 
 		final Iterator<Object> commentIter = documentTemplateElement.getStereotypePropertyValues(semanticModelElement).iterator();
-		Title title = null;
-		if (commentIter.hasNext() && documentTemplateElement.isGenerateTitle()) {
-			title = STRUCTURE_EFACTORY.createTitle();
-			title.setTitle(documentTemplateElement.buildPartTemplateTitle(null));
-			returnedValue.add(expectedReturnedClass.cast(title));
-		}
 		while (commentIter.hasNext()) {
 			final Paragraph paragraph = STRUCTURE_EFACTORY.createParagraph();
 			Object value = commentIter.next();
@@ -81,13 +77,9 @@
 				value = EMPTY_STRING;
 			}
 			paragraph.setText(value.toString());
-			if (null == title) {
-				returnedValue.add(expectedReturnedClass.cast(paragraph));
-			} else {
-				title.getSubBodyParts().add(paragraph);
-			}
+			returnedValue.add(expectedReturnedClass.cast(paragraph));
 		}
-		return returnedValue;
+		return buildMapperResult(documentTemplateElement, semanticModelElement, expectedReturnedClass, returnedValue);
 	}
 
 }
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferencePartTemplateMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferencePartTemplateMapper.java
index 8c16e07..84f62e6 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferencePartTemplateMapper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferencePartTemplateMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019 CEA LIST and others.
+ * Copyright (c) 2019, 2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -10,6 +10,7 @@
  *
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -23,17 +24,18 @@
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ISubBodyPartTemplate;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyReferencePartTemplate;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
 import org.eclipse.uml2.uml.Element;
 import org.eclipse.uml2.uml.util.UMLUtil;
 
 /**
  * This mapper converts the StereotypePropertyPartTemplate into BodyPart
  */
-public class StereotypePropertyReferencePartTemplateMapper extends AbstractUMLTemplateToStructureMapper<StereotypePropertyReferencePartTemplate> {
+public class StereotypePropertyReferencePartTemplateMapper extends AbstractBodyPartTemplateToStructureMapper<StereotypePropertyReferencePartTemplate> {
 
 	/**
 	 * Constructor.
@@ -42,7 +44,7 @@
 	 * @param outputClass
 	 */
 	public StereotypePropertyReferencePartTemplateMapper() {
-		super(TEMPLATE_EPACKAGE.getStereotypePropertyReferencePartTemplate(), BodyPart.class);
+		super(UMLDocumentStructureTemplatePackage.eINSTANCE.getStereotypePropertyReferencePartTemplate(), BodyPart.class);
 	}
 
 	/**
@@ -66,14 +68,6 @@
 		if (matchingElements.isEmpty()) {
 			return null;
 		}
-		Title title = null;
-		if (stereotypePropertyPartTemplate.isGenerate()) {
-			if (stereotypePropertyPartTemplate.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(stereotypePropertyPartTemplate.buildPartTemplateTitle(null));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
 
 		// we iterate firstly on the elements of the document structure
 		final Iterator<ISubBodyPartTemplate> subBodyPartTemplate = stereotypePropertyPartTemplate.getSubBodyPartTemplates().iterator();
@@ -93,15 +87,11 @@
 				if (result == null) {
 					continue;
 				}
-				if (title != null) {
-					title.getSubBodyParts().addAll(result);
-				} else {
-					result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
-				}
+				result.stream().forEach(a -> returnedElements.add(expectedReturnedClass.cast(a)));
 			}
 		}
 
-		return returnedElements;
+		return buildMapperResult(stereotypePropertyPartTemplate, semanticModelElement, expectedReturnedClass, returnedElements);
 	}
 
 }
diff --git a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferenceTableViewMapper.java b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferenceTableViewMapper.java
index b7ea4a3..54d8e31 100755
--- a/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferenceTableViewMapper.java
+++ b/plugins/uml/org.eclipse.papyrus.model2doc.uml.template2structure/src/org/eclipse/papyrus/model2doc/uml/template2structure/internal/mappers/StereotypePropertyReferenceTableViewMapper.java
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * Copyright (c) 2019, 2020 CEA LIST and others.
+ * Copyright (c) 2019-2021 CEA LIST and others.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License 2.0
@@ -11,6 +11,7 @@
  * Contributors:
  * 	Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation
  * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 569249
+ * 	Pauline DEVILLE (CEA LIST) pauline.deville@cea.fr - Bug 570133
  *
  *****************************************************************************/
 
@@ -29,17 +30,18 @@
 import org.eclipse.papyrus.model2doc.core.builtintypes.CellLocation;
 import org.eclipse.papyrus.model2doc.core.builtintypes.TextCell;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.BodyPart;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.EmptyLine;
 import org.eclipse.papyrus.model2doc.emf.documentstructure.ExtendedBasicTable;
-import org.eclipse.papyrus.model2doc.emf.documentstructure.Title;
 import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.IColumn;
+import org.eclipse.papyrus.model2doc.emf.documentstructuretemplate.ITableView;
+import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.AbstractBodyPartTemplateToStructureMapper;
 import org.eclipse.papyrus.model2doc.emf.template2structure.mapping.IMappingService;
 import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.StereotypePropertyReferenceTableView;
+import org.eclipse.papyrus.model2doc.uml.documentstructuretemplate.UMLDocumentStructureTemplatePackage;
 
 /**
  * This mapper creates a {@link BodyPart} from a {@link StereotypePropertyReferenceTableView}S
  */
-public class StereotypePropertyReferenceTableViewMapper extends AbstractUMLTemplateToStructureMapper<StereotypePropertyReferenceTableView> {
+public class StereotypePropertyReferenceTableViewMapper extends AbstractBodyPartTemplateToStructureMapper<StereotypePropertyReferenceTableView> {
 
 	/**
 	 *
@@ -47,7 +49,7 @@
 	 *
 	 */
 	public StereotypePropertyReferenceTableViewMapper() {
-		super(TEMPLATE_EPACKAGE.getStereotypePropertyReferenceTableView(), BodyPart.class);
+		super(UMLDocumentStructureTemplatePackage.eINSTANCE.getStereotypePropertyReferenceTableView(), BodyPart.class);
 	}
 
 	/**
@@ -63,36 +65,19 @@
 	 */
 	@Override
 	protected <T> List<T> doMap(final IMappingService mappingService, final StereotypePropertyReferenceTableView stereotypePropertyReferenceTableView, final EObject semanticModelElement, final Class<T> expectedReturnedClass) {
+		final List<T> returnedElements = new ArrayList<>();
 		if (false == stereotypePropertyReferenceTableView.generateBranch(semanticModelElement)) {
 			return Collections.emptyList();
 		}
-		List<T> returnedElements = new ArrayList<>();
 
 		final Collection<EObject> rows = stereotypePropertyReferenceTableView.getRows(semanticModelElement);
 		final Collection<IColumn> columns = stereotypePropertyReferenceTableView.getColumns();
 		if (rows.isEmpty() || columns.isEmpty()) {
 			return null;
 		}
-		Title title = null;
-		if (stereotypePropertyReferenceTableView.isGenerate()) {
-			if (stereotypePropertyReferenceTableView.isGenerateTitle()) {
-				title = STRUCTURE_EFACTORY.createTitle();
-				title.setTitle(stereotypePropertyReferenceTableView.buildPartTemplateTitle(null));
-				returnedElements.add(expectedReturnedClass.cast(title));
-			}
-		}
 
 
 		final ExtendedBasicTable table = STRUCTURE_EFACTORY.createExtendedBasicTable();
-		final EmptyLine emptyLine = STRUCTURE_EFACTORY.createEmptyLine(); // Bug 569249
-
-		if (title != null) {
-			title.getSubBodyParts().add(table);
-			title.getSubBodyParts().add(emptyLine);
-		} else {
-			returnedElements.add(expectedReturnedClass.cast(table));
-			returnedElements.add(expectedReturnedClass.cast(emptyLine));
-		}
 
 		// column header generation
 		if (stereotypePropertyReferenceTableView.isGenerateColumnHeader()) {
@@ -145,7 +130,24 @@
 				bodyRow.getCells().add(bodyCell);
 			}
 		}
+		if (!isEmptyTable(table, stereotypePropertyReferenceTableView)) {
+			returnedElements.add(expectedReturnedClass.cast(table));
+			returnedElements.add(expectedReturnedClass.cast(STRUCTURE_EFACTORY.createEmptyLine()));
+		}
 
-		return returnedElements;
+		return buildMapperResult(stereotypePropertyReferenceTableView, semanticModelElement, expectedReturnedClass, returnedElements);
 	}
+
+	/**
+	 *
+	 * @param table
+	 *            the created table
+	 * @param tableView
+	 * @return
+	 */
+	private boolean isEmptyTable(final ExtendedBasicTable table, final ITableView tableView) {
+		return table.getRowsNumber() == 0 && tableView.isGenerateColumnHeader() == false
+				|| table.getRowsNumber() == 1 && tableView.isGenerateColumnHeader();
+	}
+
 }