Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/qompass/designer/org.eclipse.papyrus.qompass.designer.doc/html/reference/trafos.html')
-rw-r--r--extraplugins/qompass/designer/org.eclipse.papyrus.qompass.designer.doc/html/reference/trafos.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/extraplugins/qompass/designer/org.eclipse.papyrus.qompass.designer.doc/html/reference/trafos.html b/extraplugins/qompass/designer/org.eclipse.papyrus.qompass.designer.doc/html/reference/trafos.html
new file mode 100644
index 00000000000..27ad089bcb9
--- /dev/null
+++ b/extraplugins/qompass/designer/org.eclipse.papyrus.qompass.designer.doc/html/reference/trafos.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
+ <title>Qompass</title>
+ <link rel="StyleSheet"
+ href="../sitestyle.css"
+ type="text/css">
+</head>
+<body>
+<h1>Transformations</h1>
+
+Before an Qompass component can be deployed, there is a set of transformations that is applied
+
+<ol>
+<li>Each port is translated into a tripel of a property, an operation returning a reference to the interface
+ provided by the port (if any) and an operation allowing to connect the port (if port has a required
+ interface).
+
+<li>Parts: if a part is typed with an abstract component implementation or a component type, it cannot
+ directly be instantiated in some programming languages, notably C++ (in Java, attributes typed
+ with a class are always implictly references). For these, there are basically two options:
+ <ul>
+ <li>Change the type of the part and replace it by a concrete implementation. Obviously, this can only
+ work, if the deployment uses always the same implementaiton for the part.
+ <li>Assure that the composite only holds a reference to the part, i.e. make the part a pointer and
+ let the bootloader instantiate the sub-parts. The advantage is that it always works, but would not
+ do something useful in the context of variable systems.
+ </ul>
+<li>
+</ol>
+
+A component might either be a type or an implementation. The former is mainly a class with a set of ports
+and no internal structure. It may inherit from other component types, but not from implementations.
+The latter has to realize at least a subset of the services that are provided at its ports (if it does not define all, it
+needs to be declared as abstract). The realization could be either done by an implementation written in a specific programming
+language or the UML action language or by a delegation to an inner part.
+
+</body>
+</html>

Back to the top