Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaged Elaasar2017-02-21 03:19:48 -0500
committerFlorian Noyrit2017-03-13 12:19:06 -0400
commit7a1e61e4203fcf468a2635b80dd94182a95b588b (patch)
tree804451f2f230c2cb1a4b07815f4ccd2dc1edcf52 /plugins/doc
parentcb10068854ce727bc5004e997663ae0a3ae2ffd6 (diff)
downloadorg.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.gz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.xz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.zip
Bug 510451 - Reimplement the ISO42010 specification to properly support
architectural contexts and viewpoints Replaced the viewpoint configuration framework by a new architectural context/viewpoint framework. This involves defining architecture contexts and viewpoints in models and contributing them via extension points or via the preferences. Models reference an architecture context and a set of viewpoints at creation time, but can be switched later. Architecture contexts double as client contexts for which elementtypesetconfigurations can be registered. They also define viewpoints, which reference representation kinds (diagrams or tables). This contribution defines three architecture contexts: UML, Profile, and SysML corresponding to what Papyrus used to call diagram categories. Change-Id: I203b58d9e97afdffc45c2674683c0281eb8a7c5b Signed-off-by: Maged Elaasar <melaasar@gmail.com>
Diffstat (limited to 'plugins/doc')
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.project (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.project)2
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.core.resources.prefs4
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.core.prefs (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.ui.prefs (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.ui.prefs)0
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.m2e.core.prefs (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.m2e.core.prefs)0
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.pde.api.tools.prefs (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.pde.api.tools.prefs)0
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/META-INF/MANIFEST.MF (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/META-INF/MANIFEST.MF)4
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/about.html (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/about.html)54
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/build.properties (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/build.properties)14
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.properties (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.properties)32
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.xml (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.xml)4
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/pom.xml (renamed from plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/pom.xml)6
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture-main-toc.xml7
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture.mediawiki193
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/contextmenu.pngbin0 -> 169175 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/diagramkind.pngbin0 -> 165994 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/othermodels.pngbin0 -> 46364 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/preferences.pngbin0 -> 232227 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/properties.pngbin0 -> 63939 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/selectarchitecture.pngbin0 -> 159690 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/switchmenus.pngbin0 -> 58085 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.core.resources.prefs2
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/explorer.pngbin11776 -> 0 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/preferences.pngbin16503 -> 0 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/properties.pngbin12947 -> 0 bytes
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints-main-toc.xml7
-rw-r--r--plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints.mediawiki195
-rw-r--r--plugins/doc/pom.xml2
28 files changed, 263 insertions, 263 deletions
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.project b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.project
index e12fea36a32..26a212622f3 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.project
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.eclipse.papyrus.infra.viewpoints.doc</name>
+ <name>org.eclipse.papyrus.infra.architecture.doc</name>
<comment></comment>
<projects>
</projects>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.core.resources.prefs b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000000..96ade9ab932
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//target/generated-eclipse-help/architecture-toc.xml=utf-8
+encoding//target/generated-eclipse-help/architecture.html=UTF-8
+encoding/<project>=UTF-8
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.core.prefs b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.core.prefs
index 4d72ad12656..4d72ad12656 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.core.prefs
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.ui.prefs b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.ui.prefs
index 954281dbc31..954281dbc31 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.jdt.ui.prefs
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.jdt.ui.prefs
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.m2e.core.prefs b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.m2e.core.prefs
index f897a7f1cb2..f897a7f1cb2 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.m2e.core.prefs
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.m2e.core.prefs
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.pde.api.tools.prefs b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.pde.api.tools.prefs
index 23fb95e120f..23fb95e120f 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.pde.api.tools.prefs
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/.settings/org.eclipse.pde.api.tools.prefs
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/META-INF/MANIFEST.MF b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/META-INF/MANIFEST.MF
index 9e0c1a84c78..54394cd388a 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/META-INF/MANIFEST.MF
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/META-INF/MANIFEST.MF
@@ -2,8 +2,8 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.help;bundle-version="[3.7.0,4.0.0)",
org.eclipse.papyrus.infra.doc;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.infra.viewpoints.doc;singleton:=true
+Bundle-SymbolicName: org.eclipse.papyrus.infra.architecture.doc;singleton:=true
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/about.html b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/about.html
index dd02e0be168..a2fd79d9556 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/about.html
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/about.html
@@ -1,28 +1,28 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>December 2, 2009</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>January 1, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
</html> \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/build.properties b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/build.properties
index f33d8fa50e2..934d404535a 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/build.properties
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/build.properties
@@ -1,8 +1,8 @@
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html,\
- plugin.properties,\
- target/generated-eclipse-help/**
-src.includes = about.html,\
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ about.html,\
+ plugin.properties,\
+ target/generated-eclipse-help/**
+src.includes = about.html,\
resources/
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.properties b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.properties
index 31cbfddf591..180703a144e 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.properties
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.properties
@@ -1,16 +1,16 @@
-##########################################################################################
-# Copyright (c) 2013 CEA LIST.
-#
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Laurent Wouters (CEA LIST) laurent.wouters@cea.fr - Initial API and implementation
-#
-########################################################################################
-
-pluginName = Papyrus Viewpoints Documentation
-providerName = Eclipse Modeling Project
+##########################################################################################
+# Copyright (c) 2013 CEA LIST.
+#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Laurent Wouters (CEA LIST) laurent.wouters@cea.fr - Initial API and implementation
+#
+########################################################################################
+
+pluginName = Papyrus Architecture Documentation
+providerName = Eclipse Modeling Project
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.xml b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.xml
index b2f43bb1684..376a2583f70 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/plugin.xml
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/plugin.xml
@@ -4,11 +4,11 @@
<extension
point="org.eclipse.help.toc">
<toc
- file="target/generated-eclipse-help/viewpoints-main-toc.xml"
+ file="target/generated-eclipse-help/architecture-main-toc.xml"
primary="false">
</toc>
<toc
- file="target/generated-eclipse-help/viewpoints-toc.xml"
+ file="target/generated-eclipse-help/architecture-toc.xml"
primary="false">
</toc>
</extension>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/pom.xml b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/pom.xml
index 5c7ab73a2f2..53cf545dc9c 100644
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/pom.xml
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/pom.xml
@@ -7,8 +7,8 @@
<groupId>org.eclipse.papyrus</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
- <artifactId>org.eclipse.papyrus.infra.viewpoints.doc</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <artifactId>org.eclipse.papyrus.infra.architecture.doc</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
<plugins>
@@ -44,5 +44,5 @@
</plugin>
</plugins>
</build>
- <name>Papyrus Infra Viewpoints doc</name>
+ <name>Papyrus Infra Architecture doc</name>
</project>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture-main-toc.xml b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture-main-toc.xml
new file mode 100644
index 00000000000..bc5fb8bbb42
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture-main-toc.xml
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<toc label="Architecture" link_to="../org.eclipse.papyrus.infra.doc/toc.xml#PapyrusDocCustom">
+ <topic href="target/generated-eclipse-help/architecture.html" label="Architecture Contexts">
+ <link toc="target/generated-eclipse-help/architecture-toc.xml"/>
+ <anchor id="ArchitectureID"/>
+ </topic>
+</toc>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture.mediawiki
new file mode 100644
index 00000000000..a49efca82b9
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/architecture.mediawiki
@@ -0,0 +1,193 @@
+<!--
+ Copyright (c) 2017 CEA LIST.
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+
+ Contributors:
+ Maged E. Elaasar (melaasar@gmail.com) - Initial API and implementation
+-->
+
+=Introduction=
+
+An architecture context is a method for customizing Papyrus for a given domain. It defines a regime for editing a Papyrus model semantically and notationally. The semantic editing is defined by a set of element type set configurations (from some domain), while the notational side is defined by a set of viewpoints consisting of a set of representation kinds (e.g., diagram kinds and table kinds) and other notational configurations.
+
+An architecture context is composed within an architecture domain (a namespace) and satisfies a set of concerns that belong to a set of stakeholders, both of which are composed in (the same or another) architecture domain. An architecture domain can be specified by one or more architecture models. In the latter case, all of these models are dynamically merged at runtime.
+
+An architecture context can either be an architecture description language or an architecture framework. In the former case, it can own its own set of representation kinds, while in the latter, it cannot. However, in both cases, a context can own a set of viewpoints that reference representation kinds owned by any description language.
+
+Each model in Papyrus is created using a specific architecture context, although this context may later be switched, possibly resulting in the model details being changed. A model also specifies a subset of its context's viewpoints as enabled at creation time, although this set may later be switched as well. When a viewpoint is enabled on a model, a user can create representations, based on this viewpoint's referenced representation kinds, and see them in model explorer. When a viewpoint is disabled, its representations become invisible, unless another enabled viewpoint references their representation kinds.
+
+=Architecture Context Preference Page=
+
+Papyrus is typically deployed with one or more architecture models that are registered through platform extensions. The architecture contexts contributed by these models can be seen in the Architecture Context Preference Page:
+
+[[Image:images/preferences.png]]
+
+A user can choose to enable or disable those architecture contexts in the workbench by toggling their checkboxes, set one of them as a default context (using the Make Default button), or extend existing contexts or add to them at runtime by specifying other architecture models from the file system or the workspace (using the Other Architecture Models button):
+
+[[Image:images/othermodels.png]]
+
+=Architecture Context UI Elements=
+
+The enabling of architecture contexts in a workbench has some impacts on the following UI elements in Papyrus:
+
+* The '''Select Architecture Context''' page of the '''New Papyrus Model''' wizard allows for selecting one of the enabled architecture contexts to create the model in. It also allows for enabling/disabling on the model the set of viewpoints that are provided by the context.
+
+[[Image:images/selectarchitecture.png]]
+
+
+* The '''Initialization Information''' in the '''New Papyrus Model''' wizard has a '''Select a Representation Kind''' section that is populated with only the diagrams and tables that are available in the enabled viewpoints.
+
+[[Image:images/diagramkind.png]]
+
+* The '''Switch Architecture Context...''' context menu action in the Model Explorer view allows for switching the model's architecture context and/or viewpoints. Similarly, the '''Switch Architecture Viewpoints''' context menu allows for quickly enabling/disabling a viewpoint.
+
+[[Image:images/switchmenus.png]]
+
+* The '''Unsupported Diagrams/Tables''' filter in the Model Explorer view hides diagrams/tables whose kinds are not supported by the viewpoints currently enabled on the model.
+
+* The '''New Diagram''' and '''New Table''' contextual menus for the model elements in the Model Explorer view provides only the diagrams and tables that are available in the enabled viewpoints and are applicable to the currently selected model element. For example, when a UML Activity is selected, the '''New Diagram''' context menu will not offer to create a Package diagram, or a class diagram. The same holds for the toolbar elements for the creation of diagrams and tables.
+
+[[Image:images/contextmenu.png]]
+
+* The diagrams properties show the following information:
+
+[[Image:images/properties.png]]
+
+* '''Diagram Type''' or '''Table Kind''' is the qualified name of the representation kind. It gives an indication of which architecture context is providing it.
+* The '''Owner''' attribute is the model element that syntactically contains the representation in the model explorer. It can be different from the root element.
+* The '''Root''' element attribute is the model element that is the representation's root semantic element.
+
+=Definition of New Architecture Models=
+
+Papyrus supports the definition of new architecture models that can subsequently be used by selecting them as other models in the Papyrus Architecture Context preference page, as presented above. Papyrus architecture models are defined in files with the *.architecture extension. They are really just Ecore models that can be edited with the specialized architecture model editor provided by Papyrus.
+
+==Basic Concepts==
+
+The architecture metamodel in Papyrus is implemented as a realization and an extension to the ISO 42010 standard for architecture of systems. Hence many concepts present in the metamodel are derived from those presented in the ISO 42010 standard. However, the standard has been extended with Papyrus-specific concepts and properties.
+* A ''domain'' is the root of the architecture model. It can contains a collection of ''concerns'', ''stakeholders'', as well as ''contexts'' (which can be ''description languages'' and/or ''frameworks'').
+* A ''concern'' (from ISO 42010) represents in Papyrus a matter of interest to some stakeholder.
+* A ''stakeholder'' (from ISO 42010) represents in Papyrus an archetype of users. It references a set of its ''concerns''.
+* A ''description language'' (from ISO 42010) represents in Papyrus a modeling language (e.g., UML, SysML). It has a unique ''id' that corresponds to that of an ''IClientContext'' from GMF. It references a ''metamodel'', a set of ''profiles'', a set of ''element type set configurations'', a ''creation command'' (creates a model of this language), a ''conversion command'' (converts a model to this language), and and ''icon''. It also has an optional ''extension prefix'' for its models. It can also contain a set of ''representation kinds'' (which can be either ''diagrams'' or ''tables'') and a set of ''viewpoints''.
+* A ''framework'' (from ISO 42010) represents in Papyrus a modeling framework (e.g., DoDAF). It has a unique ''id' that corresponds to that of an ''IClientContext'' from GMF. It references a set of ''element type set configurations'', a ''creation command'' (creates a model of this framework), a ''conversion command'' (converts a model to this framework), and an ''icon''. It also has an optional ''extension prefix'' for its models. It can also contain a set of ''viewpoints''.
+* A ''viewpoint'' (from ISO 42010) in Papyrus references set of ''representation kinds'', which can be ''diagrams'' or ''tables''.
+* A ''diagram'' in this context does not represent a single instance (for example the diagram named X in model Y), but the specification (or prototype) of future diagrams of this kind. For example the ''UML Class Diagram''.
+* A ''table'' is another kind of view in Papyrus that enables the presentation of models in a tabular format.
+
+==Walkthrough==
+
+The definition of an architecture model in Papyrus starts with the selection of the ''Architecture Model'' option in the Eclipse ''New'' creation wizard under the ''Papyrus'' category. The top element of the file should be a ''Architecture Domain'' element.
+
+<u>Step 1</u>: Specify the ''Name'' and ''Description'' of the ''Architecture Domain'' (the root element).
+
+<u>Step 2</u>: Right click on the domain to add one or more ''Concerns''. In the properties view, specify the following for each concern: a ''Name'' and a ''Description''.
+
+<u>Step 3</u>: Right click on the domain to add one or more ''Stakeholders''. In the properties view, specify the following for each stakeholder: a ''Name'', a ''Description'', and one or more references to ''Concerns''.
+
+<u>Step 4</u>: Right click on the domain to add one or more ''Architecture Description Languages''. In the properties view, specify for each language: a ''Name'', a ''Description'', a unique ''Id'' (e.g., org.eclipse.uml2.UML), an ''Extension Prefix'' if desired (e.g., profile), an ''Icon'' using a platform URI (e.g., platform:/plugin/project/icons/xxx.png), a ''Metamodel'' as a reference to an ''EPackage'' (load the Ecore model first), one or more ''Profiles'' as references to ''EPackages'' (load the Ecore models first), one or more ''Element Types'' as references to ''ElementTypeSetConfigurations'' (load the *.elementtypesetconfiguration models first), a creation command using a fully qualified of a Java class implementing the IModelCreationCommand interface, and an optional conversion command using a fully qualified of a Java class implementing the IModelConversionCommand interface.
+
+<u>Step 4A</u>: Right click on the description language to add one or more representation kinds, i.e., ''Papyrus Diagram'', ''Papyrus Table'' or ''Papyrus Sync Table'' (see details below).
+
+<u>Step 5</u>: Right click on the domain to add one or more ''Architecture Framework''. In the properties view, specify for each framework: a ''Name'', a ''Description'', a unique ''Id'' (e.g., org.eclipse.dodaf), an ''Extension Prefix'' if desired (e.g., profile), an ''Icon'' using a platform URI (e.g., platform:/plugin/project/icons/xxx.png), and one or more ''Element Types'' as references to ''ElementTypeSetConfigurations'' (load the *.elementtypesetconfiguration models first).
+
+<u>Step 6</u>: Right click on the description language (step 4) or framework (step 5) to add one or more ''Architecture Viewpoints''. In the properties view, specify for each viewpoint: a ''Name'', a ''Description'', a unique ''Id'' (e.g., org.eclipse.uml.design), one ore more references to ''Concerns'', and one or more references to ''Representation Kinds''.
+
+<u>Step 7</u>: Deploy the model. The new architecture file can be deployed in an Eclipse plugin and registered through an extension point. The extension point to use is <code>org.eclipse.papyrus.infra.architecture.models</code>. Alternatively, the model can be deployed using the ''Other Architecture Model'' button in the ''Architecture Contexts'' preference page.
+
+==Papyrus Diagram Specification==
+
+Once a ''Papyrus Diagram'' is created, in the properties view, specify for it:
+* A ''Name'' (required) that is the user-visible name of the diagram. It will appear in the creation menus and property panel.
+* An ''Icon'' (required), as an URI of the form <code>platform:/plugin/...</code>.
+* An ''Implementation ID'' (required) which selects the physical (hard-coded) diagram in Papyrus that will be used as a base. The possible values for this property are summarized in the following table.
+* An optional ''Parent'' that specifies a parent viewpoint-defined diagram to inherit from. Essentially, the inheriting diagram will defer to its parent�s rules (see below) when its own are not sufficient to take a decision.
+* An optional ''Custom Style'' as an URI of the form <code>platform:/plugin/...</code>. It must point to a CSS file that will then be automatically applied to the diagram.
+* An optional ''Custom Palette'' as an URI of the form <code>platform:/plugin/...</code>. It must point a palette definition in XML that will be automatically applied to the diagram.
+* Other attributes are inherited from the ISO 42010 implementation and are currently not used in Papyrus.
+
+{| border="solid 1px grey"
+! Implementation ID
+! Description
+|-
+| '''PapyrusUMLActivityDiagram'''
+| UML Activity Diagram
+|-
+| '''PapyrusUMLClassDiagram'''
+| UML Class Diagram
+|-
+| '''PapyrusUMLCommunicationDiagram'''
+| UML Communication Diagram
+|-
+| '''PapyrusUMLComponentDiagram'''
+| UML Component Diagram
+|-
+| '''CompositeStructure'''
+| UML Composite Diagram
+|-
+| '''PapyrusUMLDeploymentDiagram'''
+| UML Deployment Diagram
+|-
+| '''PapyrusUMLProfileDiagram'''
+| UML Profile Diagram
+|-
+| '''PapyrusUMLSequenceDiagram'''
+| UML Sequence Diagram
+|-
+| '''PapyrusUMLStateMachineDiagram'''
+| UML State Machine Diagram
+|-
+| '''PapyrusUMLTimingDiagram'''
+| UML Timing Diagram
+|-
+| '''UseCase'''
+| UML Use Case Diagram
+|-
+| '''PapyrusUMLInteractionOverviewDiagram'''
+| UML Interaction Overview Diagram
+|-
+| '''BlockDefinition'''
+| SysML Block Definition Diagram
+|-
+| '''InternalBlock'''
+| SysML Internal Block Diagram
+|-
+| '''Parametric'''
+| SysML Parametric Diagram
+|-
+| '''RequirementDiagram'''
+| SysML Requirements Diagram
+|}
+
+Once a diagram has been created it is possible to constraint it using rules. There are four kinds of rules:
+* Model rules constrain the type of the (root) model elements that can be visualized through this view. Hence model rules control what model elements can be selected for the ''Root element'' property of the diagrams, as shown in the capture below.
+* Owning rules constrain the type of the model elements that can own the diagram itself. In practice this materializes as the type of model elements under which the diagrams can appear in the model explorer. Owning rules control what model elements can be selected for the ''Owner'' property of the diagrams, as shown in the capture below.
+* Child rules constrain the type of the model elements that can be dropped within this diagram.
+* Palette rules constrain the display of the diagram's palette elements.
+
+[[Image:images/properties.png]]
+
+Each rule has a ''Permit'' property that specify whether the rule authorizes or forbids the action it represents. Otherwise, the properties of the rules are as follow:
+* ''Model Rules''
+** ''Element'' (required) represents the type of the model elements to apply the rule on.
+** ''Multiplicity'' (required, default is -1) represents the maximum number of this kind of diagram that can be created for the referenced model element. -1 represents an unbounded number.
+** ''Stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''Profiles'' defined in the parent diagram.
+* ''Owning Rules''
+** ''Element'' (required) represents the type of the model elements to apply the rule on.
+** ''Multiplicity'' (required, default is -1) represents the maximum number of this kind of diagram that can be created for the referenced model element. -1 represents an unbounded number.
+** ''Stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''Profiles'' defined in the parent diagram.
+* ''Child Rules''
+** ''Element'' (required) represents the type of the model elements begin dropped.
+** ''Stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''Profiles'' defined in the parent diagram.
+** ''Origin'' (required) represents the type of the model elements that are the target of the drop. It is usually one of the type defined in the ''Model Rules''.
+** Additionally, ''Child Rules'' can be completed with children called ''Path Elements'' using the '''New Child''' contextual menu. ''Path Elements'' defines a path of properties that must be used from the ''Origin'' to insert the new ''Element'' in the model.
+* ''Palette Rules''
+** ''Element'' (required) represents a pattern to match for the identifier of a palette element.
+*** If the value ends with '*', it will match any palette element with the prefix specified before the '*'.
+*** If the value is '*', it will match any palette element.
+
+The minimal required rules for a diagram specification to work are:
+* A model rule that allows the diagram to be created for a model element. For example, a model rule with ''Element'' set to UML Package, ''Multiplicity'' to -1 and ''Permit'' to true; meaning this diagram can be created for UML Packages and an unlimited number of diagrams can be created for each UML Package.
+* An owning rule that allows the diagram to be owned by a model element (appear under an element in the model explorer). For example, an owning rule with ''Element'' set to UML Package, ''Multiplicity'' set to -1 and ''Permit'' to true; meaning an unlimited number of diagrams of this kind can be placed under each UML Package element in the model explorer.
+* A child rule that allows the dropping of any element in the diagram, expressed with the ''Permit'' attribute set to true and other attributes left empty. \ No newline at end of file
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/contextmenu.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/contextmenu.png
new file mode 100644
index 00000000000..78dfa84bb2f
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/contextmenu.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/diagramkind.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/diagramkind.png
new file mode 100644
index 00000000000..704e2377977
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/diagramkind.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/othermodels.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/othermodels.png
new file mode 100644
index 00000000000..e885cd157c5
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/othermodels.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/preferences.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/preferences.png
new file mode 100644
index 00000000000..c506cf07b0f
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/preferences.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/properties.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/properties.png
new file mode 100644
index 00000000000..4e49e0e8d66
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/properties.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/selectarchitecture.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/selectarchitecture.png
new file mode 100644
index 00000000000..07634253128
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/selectarchitecture.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/switchmenus.png b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/switchmenus.png
new file mode 100644
index 00000000000..da1f1ee584c
--- /dev/null
+++ b/plugins/doc/org.eclipse.papyrus.infra.architecture.doc/resources/images/switchmenus.png
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.core.resources.prefs b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/explorer.png b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/explorer.png
deleted file mode 100644
index f412ac7f575..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/explorer.png
+++ /dev/null
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/preferences.png b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/preferences.png
deleted file mode 100644
index d0270ff1ff8..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/preferences.png
+++ /dev/null
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/properties.png b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/properties.png
deleted file mode 100644
index 9663d824ce5..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/images/properties.png
+++ /dev/null
Binary files differ
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints-main-toc.xml b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints-main-toc.xml
deleted file mode 100644
index 287f135aebe..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints-main-toc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<toc label="Viewpoints" link_to="../org.eclipse.papyrus.infra.doc/toc.xml#PapyrusDocCustom">
- <topic href="target/generated-eclipse-help/viewpoints.html" label="Viewpoints in Papyrus">
- <link toc="target/generated-eclipse-help/viewpoints-toc.xml"/>
- <anchor id="ViewpointsID"/>
- </topic>
-</toc>
diff --git a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints.mediawiki b/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints.mediawiki
deleted file mode 100644
index 3877aa6b98a..00000000000
--- a/plugins/doc/org.eclipse.papyrus.infra.viewpoints.doc/resources/viewpoints.mediawiki
+++ /dev/null
@@ -1,195 +0,0 @@
-<!--
- Copyright (c) 2013 CEA LIST.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- Laurent Wouters (CEA LIST) laurent.wouters@cea.fr - Initial API and implementation
--->
-
-=Introduction=
-Viewpoints in Papyrus enable the specialization and customization of the user experience by constraining what can be seen and interacted with in Papyrus diagrams and tables. Viewpoints can be used for the following purposes in Papyrus:
-* Constrain the set of diagrams and tables that are available to a particular class of users
-* Define new kinds of diagrams with custom names, icons, figures and palette in order to implement domain-specific views in Papyrus, based on the classical UML and SysML diagrams.
-
-
-=Configuration Options for Viewpoints=
-
-At any given time, there can only be one viewpoint that is currently applied to an Eclipse instance. Users are free to select any viewpoint that is provided to them. Papyrus itself comes with a default viewpoint that is automatically selected when to other viewpoint is specified.
-
-All the viewpoints-related configuration options available to the users are provided in the ''Papyrus > Viewpoints Configuration'' preference page of Eclipse:
-
-[[Image:images/preferences.png]]
-
-The first available option is the ''Configuration selection''. It determines how the current viewpoint is selected. The possible options are:
-
-* '''Default (Papyrus built-in configuration)'''. This option forces the selection of the default viewpoint provided by Papyrus. This default viewpoint exposes all the UML and SysML diagrams and tables implemented in Papyrus and does not restrict their use.
-* '''Deployed through the extension point'''. This option allows Papyrus to choose the viewpoint with the highest priority provided through the appropriate extension point. This option is typically chosen when 3rd party viewpoints are provided through the extension point. In this way they are automatically applied. When no custom viewpoint is provide through the extension point the default Papyrus viewpoint is applied instead.
-* '''Manual configuration selection'''. This option allows the user to force the application of a specific viewpoint that is manually selected. When this option is chosen the second part of the preference page becomes available. The appropriate configuration file containing the viewpoint can be selected through 3 possible schemes:
-** '''Absolute path''': The absolute path a file in the local file system.
-** '''Workspace file''': The selection of a file in the current Eclipse workspace
-** '''Embedded in a plugin''': The selection of a file contained within a plugin that has been loaded by the current Eclipse instance.
-
-In the case where multiple viewpoints are available through the current configuration options as explained above the specific viewpoint to be applied can be chosen through the two drop-down lists:
-
-* '''Stakeholder'''. The class of user that is associated to a list of possible viewpoints.
-* '''Viewpoint'''. The viewpoint will be applied. The list is populated based on the Stakeholder field.
-
-In addition, the checkbox '''Multiplicity''' can be activated so that at most one diagram or table of the each kind defined in the applied viewpoint can be created for each model element. For example, at most one class diagram per package, etc.
-
-It is possible at any time to see the details of the diagrams and tables offered by the currently used viewpoint in the ''Viewpoint Explorer'' view in Eclipse. This view is available in ''Window > Show View > Other'', and then selecting ''Papyrus > Viewpoint Explorer''.
-
-[[Image:images/explorer.png]]
-
-This view summarizes the currently available diagrams and tables, as well as the conditions for their availability.
-
-
-=Viewpoints-Related UI Elements=
-
-The application of a viewpoint has some impacts on the following UI elements in Papyrus:
-* The diagram selection window in the '''New Model''' wizard is populated with only the diagrams and tables that are available in the current viewpoint.
-* The '''New Diagram''' and '''New Table''' contextual menus for the model elements provides only the diagrams and tables that are available in the current viewpoint and are applicable to the currently selected model element. For example, when a UML Activity is selected, the '''New Diagram''' context menu will not offer to create a Package diagram, or a class diagram.
-* The same holds for the toolbar elements for the creation of diagrams and tables.
-* The diagrams properties show the following information:
-
-[[Image:images/properties.png]]
-
-* '''View Type''' is the qualified name of the diagram�s type. It gives an indication of which viewpoint is providing it.
-* The '''Owner''' attribute is the model element that syntactically contains the diagram in the model explorer. It can be different from the root element.
-* The '''Root''' element attribute is the model element that is the diagram�s root semantic element.
-
-
-=Definition of New Viewpoints=
-
-Papyrus supports the definition of new viewpoints that can subsequently be used by selecting them in the Papyrus Viewpoints preference panel, as presented above. Papyrus viewpoints are defined in configuration files with the �.configuration� extension. They are really just an ECore model that can be edited with the specialized viewpoint configuration editor provided by Papyrus.
-
-==Basic Concepts==
-
-Viewpoints in Papyrus are implemented as an extension to the ISO 42010 standard for architecture description framework. Hence many concepts presented here are derived from those presented in the ISO 42010 standard. However, the standard has been extended with Papyrus-specific concepts and properties.
-* A ''configuration'' is a top element of a configuration file. It contains can contains ''viewpoints'' specifications, ''stakeholders'', as well as ''view categories''.
-* A ''stakeholder'' (from ISO 42010) represents in Papyrus an archetype of users. They can be attributed ''viewpoints'', thus defining what users of this kind can see.
-* A ''viewpoint'' (from ISO 42010) in Papyrus is simply set of ''views'', which can be ''diagrams'' or ''tables''.
-* A ''diagram'' in this context does not represent a single instance (for example the diagram named X in model Y), but the specification (or prototype) of future diagrams of this kind. For example the ''UML Class Diagram''.
-* A ''table'' is another kind of view in Papyrus that enables the presentation of models in a tabular format.
-
-==Walkthrough==
-
-The definition of a new viewpoint in Papyrus starts with the creation of a new configuration file: ''Viewpoint s configuration'' in the Papyrus folder of the Eclipse new element creation dialog. The top element of the file should be a ''Papyrus Configuration'' element.
-
-<u>Step 1</u>: Select the metamodel that is applicable to this configuration. Generally, this should be UML. The metamodel is selected as the ''metamodel'' property of the ''Papyrus Configuration'' root element. The drop-down value selection is automatically filled with the currently metamodel currently loaded in Eclipse. For UML select, "http://www.eclipse.org/uml2/5.0.0/UML".
-
-<u>Step 2</u>: Add the basic elements. The setting of the elements below is required for the configuration to work correctly.
-* Right click on the ''Papyrus Configuration'' root element to a new ''Stakeholder'' child.
-* Give it an appropriate name
-* Right click on the ''Papyrus Configuration'' root element to a new ''Viewpoint'' child.
-* Give it an appropriate name
-* In the properties of the new stakeholder, add the new viewpoint to the ''viewpoints'' property to specify that this stakeholder will have to the specified viewpoint.
-* In the properties of the ''Papyrus Configuration'' root element, select the new stakeholder in the ''Default Stakeholder'' property.
-Notes:
-* Stakeholder attributes other than ''viewpoints'' and ''name'' are inherited from the ISO 42010 implementation and are currently not used in Papyrus.
-* Viewpoint attributes other than ''parent'' and ''name'' are inherited from the ISO 42010 implementation and are currently not used in Papyrus.
-
-<u>Step 3</u>: Complete the viewpoint with new diagrams and tables. Those elements can be added by right clicking on the viewpoint element, in the ''New child'' menu. Refer to the sections below for more information on the specification of diagrams and tables.
-
-<u>Step 4</u>: Deploy the configuration. The new configuration file can be deployed in an Eclipse plugin and registered through an extension point. The extension point to use is <code>org.eclipse.papyrus.infra.viewpoints.policy.custom</code>. It comes in two flavors that are the possible child elements for it:
-* The ''configuration'' element lets you register a configuration file and give it a priority. The configuration file is selected with the ''file'' property. Giving an URI of the form <code>platform:/plugin/my.plugin.name/path/myconfig.configuration</code> is a good practice. The ''priority'' is a value between 0 and 100, 100 is the highest priority. This value will be used to select the configuration with the highest priority when the user selects the ''Deployed through the extension point'' option in the configuration page as explained above. In this mode, the deployed configuration replaces the default Papyrus configuration and its viewpoint. This means that unless the provided viewpoint extends the default one or replicate it, the UML and SysML diagrams and tables will not be available.
-* The ''contribution'' elements lets you specifies a configuration file as an extension of another one. The custom configuration file is selected with the ''file'' property. The ''original'' property is used to select the configuration file that is extended. To extend the default Papyrus configuration, this value must be <code>platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/builtin/default.configuration</code>. In this mode the custom viewpoints must have the same name as the extended on in the original configuration file. In essence, the diagrams and tables defined in the new custom viewpoint will be available along the one in the original viewpoints, instead of replacing them. This mode is used by RobotML to add the RobotML diagrams to the default Papyrus viewpoint.
-
-==Diagram Specification==
-
-A diagram has the following attributes:
-* A ''name'' (required) that is the user-visible name of the diagram. It will appear in the creation menus and property panel.
-* An ''icon'' (required), as an URI of the form <code>platform:/plugin/...</code>.
-* An ''implementation ID'' (required) which selects the physical (hard-coded) diagram in Papyrus that will be used as a base. The possible values for this property are summarized in the following table.
-* An optional ''parent'' that specifies a parent viewpoint-defined diagram to inherit from. Essentially, the inheriting diagram will defer to its parent�s rules (see below) when its own are not sufficient to take a decision.
-* An optional list of ''profiles'' that must be applied on the model for this diagram to be available. The possible values are automatically populated from the loaded EPackages.
-* An optional ''custom style'' as an URI of the form <code>platform:/plugin/...</code>. It must point to a CSS file that will then be automatically applied to the diagram.
-* An optional ''custom palette'' as an URI of the form <code>platform:/plugin/...</code>. It must point a palette definition in XML that will be automatically applied to the diagram.
-* Other attributes are inherited from the ISO 42010 implementation and are currently not used in Papyrus.
-
-{| border="solid 1px grey"
-! Implementation ID
-! Description
-|-
-| '''PapyrusUMLActivityDiagram'''
-| UML Activity Diagram
-|-
-| '''PapyrusUMLClassDiagram'''
-| UML Class Diagram
-|-
-| '''PapyrusUMLCommunicationDiagram'''
-| UML Communication Diagram
-|-
-| '''PapyrusUMLComponentDiagram'''
-| UML Component Diagram
-|-
-| '''CompositeStructure'''
-| UML Composite Diagram
-|-
-| '''PapyrusUMLDeploymentDiagram'''
-| UML Deployment Diagram
-|-
-| '''PapyrusUMLProfileDiagram'''
-| UML Profile Diagram
-|-
-| '''PapyrusUMLSequenceDiagram'''
-| UML Sequence Diagram
-|-
-| '''PapyrusUMLStateMachineDiagram'''
-| UML State Machine Diagram
-|-
-| '''PapyrusUMLTimingDiagram'''
-| UML Timing Diagram
-|-
-| '''UseCase'''
-| UML Use Case Diagram
-|-
-| '''PapyrusUMLInteractionOverviewDiagram'''
-| UML Interaction Overview Diagram
-|-
-| '''BlockDefinition'''
-| SysML Block Definition Diagram
-|-
-| '''InternalBlock'''
-| SysML Internal Block Diagram
-|-
-| '''Parametric'''
-| SysML Parametric Diagram
-|-
-| '''RequirementDiagram'''
-| SysML Requirements Diagram
-|}
-
-Once a diagram has been created it is possible to constraint it using rules. There are four kinds of rules:
-* Model rules constrain the type of the (root) model elements that can be visualized through this view. Hence model rules control what model elements can be selected for the ''Root element'' property of the diagrams, as shown in the capture below.
-* Owning rules constrain the type of the model elements that can own the diagram itself. In practice this materializes as the type of model elements under which the diagrams can appear in the model explorer. Owning rules control what model elements can be selected for the ''Owner'' property of the diagrams, as shown in the capture below.
-* Child rules constrain the type of the model elements that can be dropped within this diagram.
-* Palette rules constrain the display of the diagram's palette elements.
-
-[[Image:images/properties.png]]
-
-Each rule has a ''permit'' property that specify whether the rule authorizes or forbids the action it represents. Otherwise, the properties of the rules are as follow:
-* ''Model rules''
-** ''element'' (required) represents the type of the model elements to apply the rule on.
-** ''multiplicity'' (required, default is -1) represents the maximum number of this kind of diagram that can be created for the referenced model element. -1 represents an unbounded number.
-** ''stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''profiles'' defined in the parent diagram.
-* ''Owning rules''
-** ''element'' (required) represents the type of the model elements to apply the rule on.
-** ''multiplicity'' (required, default is -1) represents the maximum number of this kind of diagram that can be created for the referenced model element. -1 represents an unbounded number.
-** ''stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''profiles'' defined in the parent diagram.
-* ''Child rules''
-** ''element'' (required) represents the type of the model elements begin dropped.
-** ''stereotypes'' represents the set of stereotypes that must be applied in the model element for the rule to match. The stereotypes can be picked from the classifiers of the ''profiles'' defined in the parent diagram.
-** ''origin'' (required) represents the type of the model elements that are the target of the drop. It is usually one of the type defined in the ''model rules''.
-** Additionally, ''child rules'' can be completed with children called ''path elements'' using the '''New Child''' contextual menu. ''Path elements'' defines a path of properties that must be used from the ''origin'' to insert the new ''element'' in the model.
-* ''Palette rules''
-** ''element'' (required) represents a pattern to match for the identifier of a palette element.
-*** If the value ends with '*', it will match any palette element with the prefix specified before the '*'.
-*** If the value is '*', it will match any palette element.
-
-The minimal required rules for a diagram specification to work are:
-* A model rule that allows the diagram to be created for a model element. For example, a model rule with ''element'' set to UML Package, ''multiplicity'' to -1 and ''permit'' to true; meaning this diagram can be created for UML Packages and an unlimited number of diagrams can be created for each UML Package.
-* An owning rule that allows the diagram to be owned by a model element (appear under an element in the model explorer). For example, an owning rule with ''element'' set to UML Package, ''multiplicity'' set to -1 and ''permit'' to true; meaning an unlimited number of diagrams of this kind can be placed under each UML Package element in the model explorer.
-* A child rule that allows the dropping of any element in the diagram, expressed with the ''permit'' attribute set to true and other attributes left empty. \ No newline at end of file
diff --git a/plugins/doc/pom.xml b/plugins/doc/pom.xml
index cc42eecec19..820a43e0a59 100644
--- a/plugins/doc/pom.xml
+++ b/plugins/doc/pom.xml
@@ -21,7 +21,7 @@
<module>org.eclipse.papyrus.infra.nattable.doc</module>
<module>org.eclipse.papyrus.infra.newchild.doc</module>
<module>org.eclipse.papyrus.infra.services.controlmode.doc</module>
- <module>org.eclipse.papyrus.infra.viewpoints.doc</module>
+ <module>org.eclipse.papyrus.infra.architecture.doc</module>
<module>org.eclipse.papyrus.infra.types.doc</module>
<module>org.eclipse.papyrus.layers.documentation</module>
<module>org.eclipse.papyrus.req.reqif.doc</module>

Back to the top