Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2019-08-13 15:57:00 +0000
committerJuergen Haug2019-08-19 08:48:38 +0000
commit2c2772a57a2692cf001d5dba3645a293f5312d3c (patch)
tree6e256e16d296e4f7614876334cb8960cd4471feb /plugins/org.eclipse.etrice.doc/targets
parent5e3a5d12e1ef4618fb4677e1c7dc919f8c67ee70 (diff)
downloadorg.eclipse.etrice-2c2772a57a2692cf001d5dba3645a293f5312d3c.tar.gz
org.eclipse.etrice-2c2772a57a2692cf001d5dba3645a293f5312d3c.tar.xz
org.eclipse.etrice-2c2772a57a2692cf001d5dba3645a293f5312d3c.zip
Bug 548621 - Contract monitor refactoring, validation, test and docu
Diffstat (limited to 'plugins/org.eclipse.etrice.doc/targets')
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/contextHelp.xml128
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-doc.html29
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-features.html49
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractExample.pngbin0 -> 44275 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.jpgbin0 -> 36811 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.pngbin0 -> 136917 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractMonitor.pngbin0 -> 30767 bytes
-rw-r--r--plugins/org.eclipse.etrice.doc/targets/eclipse-help/toc-topics.xml.html4
8 files changed, 146 insertions, 64 deletions
diff --git a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml
index d106a8eea..0a55363c8 100644
--- a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml
+++ b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml
@@ -1,62 +1,6 @@
<!-- generated by featurizer -->
<contexts>
-<context id="featureContextHelp_TextualROOMEditor" title="TextualROOMEditor">
-<description>Textual model editor</description>
-<topic href="targets/eclipse-help/feature-reference.html#textualroomeditor" label="TextualROOMEditor"/>
-<topic href="targets/eclipse-help/feature-reference.html#textualroomeditor" label="ROOMLanguage"/>
-</context>
-
-<context id="featureContextHelp_OutlineView" title="OutlineView">
-<description>Displays an overview of all elements in the textual editor.</description>
-<topic href="targets/eclipse-help/feature-reference.html#outlineview" label="OutlineView"/>
-<topic href="targets/eclipse-help/feature-reference.html#outlineview" label="TextualROOMEditor"/>
-</context>
-
-<context id="featureContextHelp_GraphicalBehaviorEditor" title="GraphicalBehaviorEditor">
-<description>The GraphicalBehaviorEditor allows to edit the ActorClass' StateMachine. It is possible to create (hierarchical) states and transitions to model complex behavior in a convenient way.</description>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalbehavioreditor" label="GraphicalBehaviorEditor"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalbehavioreditor" label="StateMachine"/>
-</context>
-
-<context id="featureContextHelp_GraphicalStructureEditor" title="GraphicalStructureEditor">
-<description>The Structure Editor allows to edit the ActorClass' Structure in a convenient way. It is possible to create and arrange actor references and ports and to create bindings and layer connections.</description>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="GraphicalStructureEditor"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="ActorClass"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="ActorRef"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="Port"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="SAP"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="Binding"/>
-<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="LayerConnection"/>
-</context>
-
-<context id="featureContextHelp_StructureEditorPalette" title="StructureEditorPalette">
-<description>The palette creates central structural elements of an ActorClass.</description>
-<topic href="targets/eclipse-help/feature-reference.html#structureeditorpalette" label="StructureEditorPalette"/>
-<topic href="targets/eclipse-help/feature-reference.html#structureeditorpalette" label="GraphicalStructureEditor"/>
-</context>
-
-<context id="featureContextHelp_ActorRefPropertyDialog" title="ActorRefPropertyDialog">
-<description>A dialog to edit properties of an ActorRef.</description>
-<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="ActorRefPropertyDialog"/>
-<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="ActorRef"/>
-<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="GraphicalStructureEditor"/>
-</context>
-
-<context id="featureContextHelp_PortPropertyDialog" title="PortPropertyDialog">
-<description>A dialog to edit properties of an Port.</description>
-<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="PortPropertyDialog"/>
-<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="Port"/>
-<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="GraphicalStructureEditor"/>
-</context>
-
-<context id="featureContextHelp_SPPPropertyDialog" title="SPPPropertyDialog">
-<description>A dialog to edit properties of a SPP.</description>
-<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="SPPPropertyDialog"/>
-<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="SPP"/>
-<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="GraphicalStructureEditor"/>
-</context>
-
<context id="featureContextHelp_CCodeGenerator" title="CCodeGenerator">
<description></description>
<topic href="targets/eclipse-help/feature-reference.html#ccodegenerator" label="CCodeGenerator"/>
@@ -164,9 +108,9 @@
<description>An actor is the basic structural building block for building systems with ROOM</description>
<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="Inheritance"/>
-<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="GraphicalStructureEditor"/>
<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="LogicalModel"/>
<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="ActorRef"/>
+<topic href="targets/eclipse-help/feature-reference.html#actorclass" label="GraphicalStructureEditor"/>
</context>
<context id="featureContextHelp_SubSystemClass" title="SubSystemClass">
@@ -180,10 +124,10 @@
<description>A StateMachine describes the state based, event driven behavior of an ActorClass</description>
<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="StateMachine"/>
<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="Inheritance"/>
-<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="GraphicalBehaviorEditor"/>
<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="State"/>
<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="RefinedState"/>
+<topic href="targets/eclipse-help/feature-reference.html#statemachine" label="GraphicalBehaviorEditor"/>
</context>
<context id="featureContextHelp_State" title="State">
@@ -281,10 +225,10 @@
<topic href="targets/eclipse-help/feature-reference.html#actorref" label="ActorRef"/>
<topic href="targets/eclipse-help/feature-reference.html#actorref" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#actorref" label="Replication"/>
-<topic href="targets/eclipse-help/feature-reference.html#actorref" label="GraphicalStructureEditor"/>
-<topic href="targets/eclipse-help/feature-reference.html#actorref" label="ActorRefPropertyDialog"/>
<topic href="targets/eclipse-help/feature-reference.html#actorref" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#actorref" label="SubSystemClass"/>
+<topic href="targets/eclipse-help/feature-reference.html#actorref" label="GraphicalStructureEditor"/>
+<topic href="targets/eclipse-help/feature-reference.html#actorref" label="ActorRefPropertyDialog"/>
</context>
<context id="featureContextHelp_Binding" title="Binding">
@@ -292,9 +236,9 @@
<topic href="targets/eclipse-help/feature-reference.html#binding" label="Binding"/>
<topic href="targets/eclipse-help/feature-reference.html#binding" label="Port"/>
<topic href="targets/eclipse-help/feature-reference.html#binding" label="Port"/>
-<topic href="targets/eclipse-help/feature-reference.html#binding" label="GraphicalStructureEditor"/>
<topic href="targets/eclipse-help/feature-reference.html#binding" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#binding" label="SubSystemClass"/>
+<topic href="targets/eclipse-help/feature-reference.html#binding" label="GraphicalStructureEditor"/>
</context>
<context id="featureContextHelp_LayerConnection" title="LayerConnection">
@@ -302,9 +246,9 @@
<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="LayerConnection"/>
<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="SAP"/>
<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="SPP"/>
-<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="GraphicalStructureEditor"/>
<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="SubSystemClass"/>
+<topic href="targets/eclipse-help/feature-reference.html#layerconnection" label="GraphicalStructureEditor"/>
</context>
<context id="featureContextHelp_ExecutionType" title="ExecutionType">
@@ -397,9 +341,9 @@
<description>A Service Access Point is similar to a Port, but uses a LayerConnection for wiring</description>
<topic href="targets/eclipse-help/feature-reference.html#sap" label="SAP"/>
<topic href="targets/eclipse-help/feature-reference.html#sap" label="ProtocolClass"/>
-<topic href="targets/eclipse-help/feature-reference.html#sap" label="GraphicalStructureEditor"/>
<topic href="targets/eclipse-help/feature-reference.html#sap" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#sap" label="LayerConnection"/>
+<topic href="targets/eclipse-help/feature-reference.html#sap" label="GraphicalStructureEditor"/>
</context>
<context id="featureContextHelp_ServiceImplementation" title="ServiceImplementation">
@@ -413,9 +357,65 @@
<description>A Service Provision Point is the counterpart of a SAP</description>
<topic href="targets/eclipse-help/feature-reference.html#spp" label="SPP"/>
<topic href="targets/eclipse-help/feature-reference.html#spp" label="ProtocolClass"/>
-<topic href="targets/eclipse-help/feature-reference.html#spp" label="SPPPropertyDialog"/>
<topic href="targets/eclipse-help/feature-reference.html#spp" label="ActorClass"/>
<topic href="targets/eclipse-help/feature-reference.html#spp" label="LayerConnection"/>
<topic href="targets/eclipse-help/feature-reference.html#spp" label="ServiceImplementation"/>
+<topic href="targets/eclipse-help/feature-reference.html#spp" label="SPPPropertyDialog"/>
+</context>
+
+<context id="featureContextHelp_TextualROOMEditor" title="TextualROOMEditor">
+<description>Textual model editor</description>
+<topic href="targets/eclipse-help/feature-reference.html#textualroomeditor" label="TextualROOMEditor"/>
+<topic href="targets/eclipse-help/feature-reference.html#textualroomeditor" label="ROOMLanguage"/>
+</context>
+
+<context id="featureContextHelp_OutlineView" title="OutlineView">
+<description>Displays an overview of all elements in the textual editor.</description>
+<topic href="targets/eclipse-help/feature-reference.html#outlineview" label="OutlineView"/>
+<topic href="targets/eclipse-help/feature-reference.html#outlineview" label="TextualROOMEditor"/>
+</context>
+
+<context id="featureContextHelp_GraphicalBehaviorEditor" title="GraphicalBehaviorEditor">
+<description>The GraphicalBehaviorEditor allows to edit the ActorClass' StateMachine. It is possible to create (hierarchical) states and transitions to model complex behavior in a convenient way.</description>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalbehavioreditor" label="GraphicalBehaviorEditor"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalbehavioreditor" label="StateMachine"/>
+</context>
+
+<context id="featureContextHelp_GraphicalStructureEditor" title="GraphicalStructureEditor">
+<description>The Structure Editor allows to edit the ActorClass' Structure in a convenient way. It is possible to create and arrange actor references and ports and to create bindings and layer connections.</description>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="GraphicalStructureEditor"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="ActorClass"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="ActorRef"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="Port"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="SAP"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="Binding"/>
+<topic href="targets/eclipse-help/feature-reference.html#graphicalstructureeditor" label="LayerConnection"/>
+</context>
+
+<context id="featureContextHelp_StructureEditorPalette" title="StructureEditorPalette">
+<description>The palette creates central structural elements of an ActorClass.</description>
+<topic href="targets/eclipse-help/feature-reference.html#structureeditorpalette" label="StructureEditorPalette"/>
+<topic href="targets/eclipse-help/feature-reference.html#structureeditorpalette" label="GraphicalStructureEditor"/>
+</context>
+
+<context id="featureContextHelp_ActorRefPropertyDialog" title="ActorRefPropertyDialog">
+<description>A dialog to edit properties of an ActorRef.</description>
+<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="ActorRefPropertyDialog"/>
+<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="ActorRef"/>
+<topic href="targets/eclipse-help/feature-reference.html#actorrefpropertydialog" label="GraphicalStructureEditor"/>
+</context>
+
+<context id="featureContextHelp_PortPropertyDialog" title="PortPropertyDialog">
+<description>A dialog to edit properties of an Port.</description>
+<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="PortPropertyDialog"/>
+<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="Port"/>
+<topic href="targets/eclipse-help/feature-reference.html#portpropertydialog" label="GraphicalStructureEditor"/>
+</context>
+
+<context id="featureContextHelp_SPPPropertyDialog" title="SPPPropertyDialog">
+<description>A dialog to edit properties of a SPP.</description>
+<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="SPPPropertyDialog"/>
+<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="SPP"/>
+<topic href="targets/eclipse-help/feature-reference.html#spppropertydialog" label="GraphicalStructureEditor"/>
</context>
</contexts>
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-doc.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-doc.html
index 29f4204a4..c45217133 100644
--- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-doc.html
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-doc.html
@@ -665,6 +665,35 @@
+<li><a href="etrice-features.html#interface-contracts">Interface Contracts</a>
+<ul>
+<li><a href="etrice-features.html#defining-contracts">Defining Contracts</a></li>
+
+
+
+
+
+
+
+
+<li><a href="etrice-features.html#contract-monitor-generation">Contract Monitor Generation</a></li>
+
+
+
+
+
+
+
+
+</ul>
+</li>
+
+
+
+
+
+
+
</ul>
</li>
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-features.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-features.html
index c4ae74c1a..0854c3f4c 100644
--- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-features.html
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/etrice-features.html
@@ -343,6 +343,55 @@
<h3><a href="#the-mapping-model" name="the-mapping-model"></a>The Mapping Model</h3>
<p>The last model finally combines all this information by mapping logical to physical entities.</p>
<p>The result of the mapping is also depicted in above <a href="#room-instance-diagram">instance tree diagram</a> of the instances. All actor instances (the white boxes) are mapped to a node and a thread running on this node (shown as @*node* : <em>thread</em>).</p>
+<h2><a href="#interface-contracts" name="interface-contracts"></a>Interface Contracts</h2>
+<p>An interface contract defines the behavioral semantics of an interface. In many languages like Java or C++ this is usually described in form of text comments. Textual descriptions are informal and have a vague expressiveness for complex behavior. Also it is difficult to leverage them for tooling or analysis.<br>eTrice provides a formal description for interface protocols. This is shown by the example of <code>PLoginProtocol</code>. It is a stateful protocol that defines the login procedure of an ATM client and the ATM server back-end. </p>
+<pre><code class="room customHighlighted"><span class="keyword">ProtocolClass</span> PLoginProtocol {
+ <span class="keyword">incoming</span> {
+ <span class="keyword">Message</span> hello()
+ <span class="keyword">Message</span> login(int16)
+ <span class="keyword">Message</span> cancel()
+ }
+ <span class="keyword">outgoing</span> {
+ <span class="keyword">Message</span> hello()
+ <span class="keyword">Message</span> wrong()
+ <span class="keyword">Message</span> attemptsLimitReached()
+ <span class="keyword">Message</span> ok()
+ }
+}
+</code></pre>
+<img style="width: 100%;" src="images/050-InterfaceContractExample.png">
+<p>The implementing parties for this protocol must obey strict rules due security and compatibility reasons. For example, the client must initiate any interaction by sending the message <code>hello</code>. The server must then response in turn by <code>hello</code>. After that the client can <code>login</code> with an ID, which can be <code>wrong</code> (maximum 3 times) or <code>ok</code>. Also there are rules for <code>cancel</code> or <code>attemptsLimitReached</code> and the restart.<br>In eTrice, these semantics can be expressed using a state machine. The full contract for <code>PLoginProtocol</code> is shown in the screenshot below.</p>
+<img style="width: 100%;" src="images/050-InterfaceContractFSM.png">
+<h3><a href="#defining-contracts" name="defining-contracts"></a>Defining Contracts</h3>
+<p>The contract is defined using a regular state machine, which requires first an ActorClass. This actor must be annotated with <code>@InterfaceContractDefinition</code> including the attribute <code>protocol</code> to specify the interface protocol. Further, the actor must implement a pair of regular and conjugated ports of the protocol. These two ports represent the two implementing parties of the protocol. After that, the contract can be created as the behavior of the actor. Be reminded, that the state machine does not represent an implementation, but the valid interaction for the protocol. </p>
+<pre><code class="room customHighlighted"><span class="keyword">ActorClass</span> LoginProtocolContract {
+ @InterfaceContractDefinition(protocol = <span class="string">"PLoginProtocol"</span>)
+ <span class="keyword">Interface</span> {
+ <span class="keyword">conjugated</span> <span class="keyword">Port</span> serverPort: PLoginProtocol
+ <span class="keyword">Port</span> loginPort: PLoginProtocol
+ }
+ <span class="keyword">Structure</span> {
+ <span class="keyword">external</span> <span class="keyword">Port</span> serverPort
+ <span class="keyword">external</span> <span class="keyword">Port</span> loginPort
+ }
+ <span class="keyword">Behavior</span> {
+ <span class="keyword">StateMachine</span> {
+ <span class="comment">// the contract state machine goes here
+</span> <span class="comment">// see diagram above
+</span> }
+ }
+</code></pre>
+<p>In addition the protocol can be annotated with <code>@InterfaceContract</code> to reference the contract. This is for documentation purpose or future static analysis.</p>
+<pre><code class="room customHighlighted"><span class="keyword">ProtocolClass</span> PLoginProtocol {
+ @InterfaceContract(definedBy = <span class="string">"LoginProtocolContract"</span>)
+ <span class="comment">// ...
+</span>}
+</code></pre>
+<p>Both annotation can be found in the modellib under the namespace <code>etrice.api.contracts.definitions</code>.</p>
+<h3><a href="#contract-monitor-generation" name="contract-monitor-generation"></a>Contract Monitor Generation</h3>
+<p>It is possible to generate a monitor, that can check the contract at runtime. The generator transforms any contract to an ActorClass, which can be placed between the implementing parties to detect any violation of the contract.</p>
+<img style="width: 100%;" src="images/050-InterfaceContractMonitor.png">
+<p>The generator is called “eTrice Contract Monitor Generator”. The usage is similar to the eTrice source code generators. By default the generated models are placed in the folder ‘model-gen’. The name of the generated ActorClass can be adjusted in the contract annotation <code>@InterfaceContractDefinition</code> using the attribute <code>generatedMontiorName</code>.<br>The generated monitor implements <code>PContractMonitorControl</code>, which can be used to query the violations status or to toggle the propagation of invalid messages. It can be found in the modellib under the namespace <code>etrice.api.contracts.monitors</code>.</p>
</body>
</html>
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractExample.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractExample.png
new file mode 100644
index 000000000..abeff0a8c
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractExample.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.jpg b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.jpg
new file mode 100644
index 000000000..63886bafe
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.jpg
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.png
new file mode 100644
index 000000000..2f19aefa3
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractFSM.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractMonitor.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractMonitor.png
new file mode 100644
index 000000000..e304c8b72
--- /dev/null
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/050-InterfaceContractMonitor.png
Binary files differ
diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/toc-topics.xml.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/toc-topics.xml.html
index 57f009c26..0f29df9f6 100644
--- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/toc-topics.xml.html
+++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/toc-topics.xml.html
@@ -84,6 +84,10 @@
</topic><topic href="targets/eclipse-help/etrice-features.html#the-physical-model" label="The Physical Model">
</topic><topic href="targets/eclipse-help/etrice-features.html#the-mapping-model" label="The Mapping Model">
</topic>
+</topic><topic href="targets/eclipse-help/etrice-features.html#interface-contracts" label="Interface Contracts">
+<topic href="targets/eclipse-help/etrice-features.html#defining-contracts" label="Defining Contracts">
+</topic><topic href="targets/eclipse-help/etrice-features.html#contract-monitor-generation" label="Contract Monitor Generation">
+</topic>
</topic>
</topic><topic href="targets/eclipse-help/feature-reference.html" label="Feature Reference">
<topic href="targets/eclipse-help/feature-reference.html#roomlanguage" label="ROOMLanguage">

Back to the top