diff options
author | Henrik Rentz-Reichert | 2018-10-26 14:49:46 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2018-10-26 14:49:46 +0000 |
commit | 8304c6c26b8a8d32ae10b3f1785020f67f49e9b8 (patch) | |
tree | b038bde11cc0ea0fb6c470384dd4a32aa023aada | |
parent | 4d5aa82bc5365025062ca9afae777e86463afa6d (diff) | |
download | org.eclipse.etrice-8304c6c26b8a8d32ae10b3f1785020f67f49e9b8.tar.gz org.eclipse.etrice-8304c6c26b8a8d32ae10b3f1785020f67f49e9b8.tar.xz org.eclipse.etrice-8304c6c26b8a8d32ae10b3f1785020f67f49e9b8.zip |
improved README.md from etrice.doc and re-generatedv_2.0.0-RC2
Change-Id: I24f0c1b6244c846959cff90079e887069f85a479
12 files changed, 233 insertions, 258 deletions
diff --git a/plugins/org.eclipse.etrice.doc/README.md b/plugins/org.eclipse.etrice.doc/README.md index d5d6e615a..80a30f073 100644 --- a/plugins/org.eclipse.etrice.doc/README.md +++ b/plugins/org.eclipse.etrice.doc/README.md @@ -6,6 +6,7 @@ eTrice documentation + help - Featurizer (Download from Bitbucket and install) - Stagen (Download .jar from Bitbucket and put it to folder */xternalLibs*, **Java 8 **) +- saxon9he.jar (in folder */xternalLibs*) ## Project Structure @@ -36,6 +37,17 @@ All artifacts are automatically generated to folder */feature-gen* on change. *m - *feature-reference.md* to folder */online-doc/content* - else to folder */targets* +### Build + +To build the documentation there are two use cases: + +- incremental build during editing of the *.md sources. To do so run-online-doc has to be executed. It starts a background +process which never terminates (when finished kill the Java process using the Windows Task Manager) +- one time build e.g. after pulling the repo. To do so launch make-doc + +*Note:* In both cases the featurizer should have generated so that its generated code in folder "feature-gen" is available. +To force a re-generation open a *.featurizer file, make a change and save. + ### Online Help Site The documentation content resides in folder */content* (exception *feature-reference.md* is copied there). The output folder for the complete generated site is */online-doc/target*. Run Ant script *run_online-doc.xml* to start Stagen. diff --git a/plugins/org.eclipse.etrice.doc/make.xml.launch b/plugins/org.eclipse.etrice.doc/make-doc.launch index 22334e024..141648c57 100644 --- a/plugins/org.eclipse.etrice.doc/make.xml.launch +++ b/plugins/org.eclipse.etrice.doc/make-doc.launch @@ -2,7 +2,7 @@ <launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType"> <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/org.eclipse.etrice.doc/make.xml"/> +<listEntry value="/org.eclipse.etrice.doc/make-doc.xml"/> </listAttribute> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listEntry value="1"/> @@ -12,6 +12,6 @@ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.ant.internal.launching.remote.InternalAntRunner"/> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.doc"/> <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/> -<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.etrice.doc/make.xml}"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.etrice.doc/make-doc.xml}"/> <stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/> </launchConfiguration> diff --git a/plugins/org.eclipse.etrice.doc/make.xml b/plugins/org.eclipse.etrice.doc/make-doc.xml index ae44aa0d4..ae44aa0d4 100644 --- a/plugins/org.eclipse.etrice.doc/make.xml +++ b/plugins/org.eclipse.etrice.doc/make-doc.xml diff --git a/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md b/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md index 00b915403..e2c9c69d5 100644 --- a/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md +++ b/plugins/org.eclipse.etrice.doc/online-doc/content/feature-reference.md @@ -797,7 +797,7 @@ ProtocolClass EventdrivenProtocolClass1 [ "default is eventdriven" ] { // explicit: eventdriven ProtocolClass EventdrivenProtocolClass { incoming { Message msg1() ["message without data"] - Message msg2(data: int32) ["message with data"] + Message msg2(int32) ["message with data"] } outgoing { Message msg4() ["eventdriven ProtocolClass can have message into two directions"] @@ -806,7 +806,7 @@ ProtocolClass EventdrivenProtocolClass1 [ "default is eventdriven" ] { datadriven ProtocolClass DatadrivenProtocolClass { incoming { - Message signal1 (data: int32) ["a datadriven message needs data"] + Message signal1 (int32) ["a datadriven message needs data"] } // datadriven ProtocolClass can only have incoming messages (signals) } @@ -1771,11 +1771,11 @@ Protocol classes have only textual notation. ```room ProtocolClass SimpleProtocolClass { incoming { - Message msg1(data: int32} + Message msg1(int32} Message msg2() } outgoing { - Message msg3(data: DataClass1} + Message msg3(DataClass1} Message msg4() } } @@ -1862,13 +1862,13 @@ eventdriven ProtocolClass ProtocolClassEvt { incoming { // incoming means incoming for a regular port and outgoing for a conjugated port Message message1() // message without data - Message message2(data: int32) // message with simple data - Message message3(data: DMessageData) // message with complex data (DataClass) + Message message2(int32) // message with simple data + Message message3(DMessageData) // message with complex data (DataClass) } outgoing { // outgoing means outgoing for a regular port and incoming for a conjugated port - Message message1(data: int32) // incoming and outgoing Messages can have the same name to enable symmetric protocols + Message message1(int32) // incoming and outgoing Messages can have the same name to enable symmetric protocols } } @@ -1882,9 +1882,9 @@ DataClass DMessageData { datadriven ProtocolClass ProtocolClassData { incoming { // incoming means incoming for a regular port and outgoing for a conjugated port - Message value1(value: int32) // a datadriven message (signal) always needs data - Message value2(value: int16) // datadriven message with simple data - Message value3(value: DMessageData) // datadriven message with complex data (DataClass) + Message value1(int32) // a datadriven message (signal) always needs data + Message value2(int16) // datadriven message with simple data + Message value3(DMessageData) // datadriven message with complex data (DataClass) } // no outgoing messages for datadriven ports allowed @@ -3117,20 +3117,6 @@ The MSCLogging is activated by default, but can be set manually in the [Generati -[CCodeGenerator]: #ccodegenerator -[JavaCodeGenerator]: #javacodegenerator -[CPPCodeGenerator]: #cppcodegenerator -[GenerationOptions]: #generationoptions -[MSCLogging]: #msclogging -[DataLogging]: #datalogging -[TextualROOMEditor]: #textualroomeditor -[OutlineView]: #outlineview -[GraphicalBehaviorEditor]: #graphicalbehavioreditor -[GraphicalStructureEditor]: #graphicalstructureeditor -[StructureEditorPalette]: #structureeditorpalette -[ActorRefPropertyDialog]: #actorrefpropertydialog -[PortPropertyDialog]: #portpropertydialog -[SPPPropertyDialog]: #spppropertydialog [AnnotationType]: #annotationtype [Annotation]: #annotation [Inheritance]: #inheritance @@ -3164,3 +3150,17 @@ The MSCLogging is activated by default, but can be set manually in the [Generati [SAP]: #sap [ServiceImplementation]: #serviceimplementation [SPP]: #spp +[TextualROOMEditor]: #textualroomeditor +[OutlineView]: #outlineview +[GraphicalBehaviorEditor]: #graphicalbehavioreditor +[GraphicalStructureEditor]: #graphicalstructureeditor +[StructureEditorPalette]: #structureeditorpalette +[ActorRefPropertyDialog]: #actorrefpropertydialog +[PortPropertyDialog]: #portpropertydialog +[SPPPropertyDialog]: #spppropertydialog +[CCodeGenerator]: #ccodegenerator +[JavaCodeGenerator]: #javacodegenerator +[CPPCodeGenerator]: #cppcodegenerator +[GenerationOptions]: #generationoptions +[MSCLogging]: #msclogging +[DataLogging]: #datalogging diff --git a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml index ad2eb274b..996aae274 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_AnnotationType" title="AnnotationType"> <description>AnnotationTypes can be used to tag ROOM classes for further custom processing</description> <topic href="targets/eclipse-help/feature-reference.html#annotationtype" label="AnnotationType"/> @@ -121,9 +65,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"> @@ -137,8 +81,8 @@ <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="GraphicalBehaviorEditor"/> </context> <context id="featureContextHelp_SubSystemRef" title="SubSystemRef"> @@ -161,10 +105,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"> @@ -172,9 +116,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"> @@ -182,9 +126,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"> @@ -272,14 +216,14 @@ <topic href="targets/eclipse-help/feature-reference.html#port" label="Port"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="ProtocolClass"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="Replication"/> -<topic href="targets/eclipse-help/feature-reference.html#port" label="GraphicalStructureEditor"/> -<topic href="targets/eclipse-help/feature-reference.html#port" label="PortPropertyDialog"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="ActorClass"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="Binding"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="Binding"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="RelayPort"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="ExternalEndPort"/> <topic href="targets/eclipse-help/feature-reference.html#port" label="InternalEndPort"/> +<topic href="targets/eclipse-help/feature-reference.html#port" label="GraphicalStructureEditor"/> +<topic href="targets/eclipse-help/feature-reference.html#port" label="PortPropertyDialog"/> </context> <context id="featureContextHelp_RelayPort" title="RelayPort"> @@ -304,9 +248,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"> @@ -320,10 +264,66 @@ <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> <context id="featureContextHelp_CCodeGenerator" title="CCodeGenerator"> diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/Dave-Integration.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/Dave-Integration.html index b04dbbfe5..3c17cae69 100644 --- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/Dave-Integration.html +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/Dave-Integration.html @@ -96,9 +96,9 @@ <p>Open <em>BlinkyTutorial.room</em> and create a new Actor called AHWAbstraction by adding the following text:</p> <pre><code class="room customHighlighted"><span class="keyword">ActorClass</span> AHWAbstraction { <span class="keyword">Structure</span> { - <span class="keyword">usercode1</span> <span class="string">''' - #include "Dave.h" - '''</span> + <span class="keyword">usercode1</span> ''' + #include <span class="string">"Dave.h"</span> + ''' } } </code></pre> @@ -130,9 +130,9 @@ <span class="keyword">Port</span> LED1: POnOff } <span class="keyword">Structure</span> { - <span class="keyword">usercode1</span> <span class="string">''' - #include "Dave.h" - '''</span> + <span class="keyword">usercode1</span> ''' + #include <span class="string">"Dave.h"</span> + ''' <span class="keyword">external</span> <span class="keyword">Port</span> LED1 } <span class="keyword">Behavior</span> { @@ -143,17 +143,17 @@ <span class="keyword">triggers</span> { <on: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputHigh(&LED1_P5_9); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: state0 -> state0 { <span class="keyword">triggers</span> { <off: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputLow(&LED1_P5_9); - '''</span> + ''' } } } @@ -186,25 +186,25 @@ <span class="keyword">State</span> state0 <span class="keyword">State</span> state1 <span class="keyword">Transition</span> init: <span class="keyword">initial</span> -> state0 { - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' timer.startTimer(300); - '''</span> + ''' } <span class="keyword">Transition</span> tr0: state0 -> state1 { <span class="keyword">triggers</span> { <timeout: timer> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.on(); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: state1 -> state0 { <span class="keyword">triggers</span> { <timeout: timer> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.off(); - '''</span> + ''' } } } @@ -243,25 +243,25 @@ <span class="keyword">State</span> state0 <span class="keyword">State</span> state1 <span class="keyword">Transition</span> init: <span class="keyword">initial</span> -> state0 { - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' timer.startTimer(300); - '''</span> + ''' } <span class="keyword">Transition</span> tr0: state0 -> state1 { <span class="keyword">triggers</span> { <timeout: timer> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.on(); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: state1 -> state0 { <span class="keyword">triggers</span> { <timeout: timer> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.off(); - '''</span> + ''' } } } @@ -272,9 +272,9 @@ <span class="keyword">Port</span> LED1: POnOff } <span class="keyword">Structure</span> { - <span class="keyword">usercode1</span> <span class="string">''' - #include "Dave.h" - '''</span> + <span class="keyword">usercode1</span> ''' + #include <span class="string">"Dave.h"</span> + ''' <span class="keyword">external</span> <span class="keyword">Port</span> LED1 } <span class="keyword">Behavior</span> { @@ -285,17 +285,17 @@ <span class="keyword">triggers</span> { <on: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputHigh(&LED1_P5_9); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: state0 -> state0 { <span class="keyword">triggers</span> { <off: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputLow(&LED1_P5_9); - '''</span> + ''' } } } @@ -378,14 +378,14 @@ <span class="keyword">State</span> blinking { <span class="keyword">subgraph</span> { <span class="keyword">State</span> on { - <span class="keyword">entry</span> <span class="string">''' + <span class="keyword">entry</span> ''' out.on(); - '''</span> + ''' } <span class="keyword">State</span> off { - <span class="keyword">entry</span> <span class="string">''' + <span class="keyword">entry</span> ''' out.off(); - '''</span> + ''' } <span class="keyword">EntryPoint</span> tp0 <span class="keyword">Transition</span> tr0: on -> off { @@ -399,9 +399,9 @@ } } <span class="keyword">Transition</span> tr2: <span class="keyword">my</span> tp0 -> on { - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' timer.startTimer(300); - '''</span> + ''' } } } @@ -417,10 +417,10 @@ <span class="keyword">triggers</span> { <off: ctrl> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' timer.kill(); out.off(); - '''</span> + ''' } } } @@ -434,9 +434,9 @@ <span class="keyword">conjugated</span> <span class="keyword">Port</span> BUTTON2: POnOff } <span class="keyword">Structure</span> { - <span class="keyword">usercode1</span> <span class="string">''' - #include "Dave.h" - '''</span> + <span class="keyword">usercode1</span> ''' + #include <span class="string">"Dave.h"</span> + ''' <span class="keyword">SAP</span> timer: PTimer <span class="keyword">external</span> <span class="keyword">Port</span> LED1 <span class="keyword">external</span> <span class="keyword">Port</span> LED2 @@ -449,77 +449,77 @@ <span class="keyword">StateMachine</span> { <span class="keyword">State</span> state0 <span class="keyword">Transition</span> init: <span class="keyword">initial</span> -> state0 { - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' timer.startTimer(50); - '''</span> + ''' } <span class="keyword">Transition</span> tr0: state0 -> state0 { <span class="keyword">triggers</span> { <on: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputHigh(&LED1_P5_9); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: state0 -> state0 { <span class="keyword">triggers</span> { <off: LED1> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputLow(&LED1_P5_9); - '''</span> + ''' } <span class="keyword">Transition</span> tr2: state0 -> state0 { <span class="keyword">triggers</span> { <on: LED2> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputHigh(&LED2_P5_8); - '''</span> + ''' } <span class="keyword">Transition</span> tr3: state0 -> state0 { <span class="keyword">triggers</span> { <off: LED2> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' DIGITAL_IO_SetOutputLow(&LED2_P5_8); - '''</span> + ''' } <span class="keyword">Transition</span> tr4: state0 -> state0 { <span class="keyword">triggers</span> { <timeout: timer> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' if (DIGITAL_IO_GetInput(&BUTTON1_P15_13) == 0) { if (b1Status == 0) { - // input changed - b1Status = 1; + <span class="comment">// input changed +</span> b1Status = 1; BUTTON1.on(); } } else { if (b1Status == 1) { - // input changed - b1Status = 0; + <span class="comment">// input changed +</span> b1Status = 0; BUTTON1.off(); } } if (DIGITAL_IO_GetInput(&BUTTON2_P15_12) == 0) { if (b2Status == 0){ - // input changed - b2Status = 1; + <span class="comment">// input changed +</span> b2Status = 1; BUTTON2.on(); } } else { if (b2Status == 1) { - // input changed - b2Status = 0; + <span class="comment">// input changed +</span> b2Status = 0; BUTTON2.off(); } } - '''</span> + ''' } } } @@ -550,17 +550,17 @@ <span class="keyword">triggers</span> { <on: ctrl> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.on(); - '''</span> + ''' } <span class="keyword">Transition</span> tr1: on -> off { <span class="keyword">triggers</span> { <on: ctrl> } - <span class="keyword">action</span> <span class="string">''' + <span class="keyword">action</span> ''' out.off(); - '''</span> + ''' } } } diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/feature-reference.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/feature-reference.html index 5f6cdf6cf..57997975a 100644 --- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/feature-reference.html +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/feature-reference.html @@ -651,7 +651,7 @@ <span class="comment">// explicit: eventdriven ProtocolClass EventdrivenProtocolClass { </span> <span class="keyword">incoming</span> { <span class="keyword">Message</span> msg1() [<span class="string">"message without data"</span>] - <span class="keyword">Message</span> msg2(data: int32) [<span class="string">"message with data"</span>] + <span class="keyword">Message</span> msg2(int32) [<span class="string">"message with data"</span>] } <span class="keyword">outgoing</span> { <span class="keyword">Message</span> msg4() [<span class="string">"eventdriven ProtocolClass can have message into two directions"</span>] @@ -660,7 +660,7 @@ <span class="keyword">datadriven</span> <span class="keyword">ProtocolClass</span> DatadrivenProtocolClass { <span class="keyword">incoming</span> { - <span class="keyword">Message</span> signal1 (data: int32) [<span class="string">"a datadriven message needs data"</span>] + <span class="keyword">Message</span> signal1 (int32) [<span class="string">"a datadriven message needs data"</span>] } <span class="comment">// datadriven ProtocolClass can only have incoming messages (signals) </span>} @@ -1404,11 +1404,11 @@ <p>A ProtocolClass provides a reusable interface specification for ports. It defines a set of incoming and outgoing Messages that can be exchanged between two ports.<br>The exact semantics of a message is defined by the CommunicationType.<br>Protocol classes have only textual notation.</p> <pre><code class="room customHighlighted"><span class="keyword">ProtocolClass</span> SimpleProtocolClass { <span class="keyword">incoming</span> { - <span class="keyword">Message</span> msg1(data: int32} + <span class="keyword">Message</span> msg1(int32} <span class="keyword">Message</span> msg2() } <span class="keyword">outgoing</span> { - <span class="keyword">Message</span> msg3(data: DataClass1} + <span class="keyword">Message</span> msg3(DataClass1} <span class="keyword">Message</span> msg4() } } @@ -1480,13 +1480,13 @@ </span> <span class="keyword">incoming</span> { <span class="comment">// incoming means incoming for a regular port and outgoing for a conjugated port </span> <span class="keyword">Message</span> message1() <span class="comment">// message without data -</span> <span class="keyword">Message</span> message2(data: int32) <span class="comment">// message with simple data -</span> <span class="keyword">Message</span> message3(data: DMessageData) <span class="comment">// message with complex data (DataClass) +</span> <span class="keyword">Message</span> message2(int32) <span class="comment">// message with simple data +</span> <span class="keyword">Message</span> message3(DMessageData) <span class="comment">// message with complex data (DataClass) </span> } <span class="keyword">outgoing</span> { <span class="comment">// outgoing means outgoing for a regular port and incoming for a conjugated port -</span> <span class="keyword">Message</span> message1(data: int32) <span class="comment">// incoming and outgoing Messages can have the same name to enable symmetric protocols +</span> <span class="keyword">Message</span> message1(int32) <span class="comment">// incoming and outgoing Messages can have the same name to enable symmetric protocols </span> } } @@ -1500,9 +1500,9 @@ </span><span class="keyword">datadriven</span> <span class="keyword">ProtocolClass</span> ProtocolClassData { <span class="keyword">incoming</span> { <span class="comment">// incoming means incoming for a regular port and outgoing for a conjugated port -</span> <span class="keyword">Message</span> value1(value: int32) <span class="comment">// a datadriven message (signal) always needs data -</span> <span class="keyword">Message</span> value2(value: int16) <span class="comment">// datadriven message with simple data -</span> <span class="keyword">Message</span> value3(value: DMessageData) <span class="comment">// datadriven message with complex data (DataClass) +</span> <span class="keyword">Message</span> value1(int32) <span class="comment">// a datadriven message (signal) always needs data +</span> <span class="keyword">Message</span> value2(int16) <span class="comment">// datadriven message with simple data +</span> <span class="keyword">Message</span> value3(DMessageData) <span class="comment">// datadriven message with complex data (DataClass) </span> } <span class="comment">// no outgoing messages for datadriven ports allowed diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html index e6ec50cc0..383434f5f 100644 --- a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/room-concepts.html @@ -120,21 +120,21 @@ <pre><code class="room customHighlighted"><span class="keyword">ActorClass</span> ActorClass4 { <span class="keyword">Behavior</span> { <span class="comment">// no arguments, no return value -</span> <span class="keyword">Operation</span> operation1(): <span class="keyword">void</span> <span class="string">''' +</span> <span class="keyword">Operation</span> operation1(): <span class="keyword">void</span> ''' user code - '''</span> + ''' <span class="comment">// argument of primitive type, return value of primitive type -</span> <span class="keyword">Operation</span> operation2(Param1: int32, Param2: float64): uint16 <span class="string">''' +</span> <span class="keyword">Operation</span> operation2(Param1: int32, Param2: float64): uint16 ''' user code - '''</span> + ''' <span class="comment">// arguments and return value by value -</span> <span class="keyword">Operation</span> operation3(Param1: int32, Param2: DataClass1): DataClass1 <span class="string">''' +</span> <span class="keyword">Operation</span> operation3(Param1: int32, Param2: DataClass1): DataClass1 ''' user code - '''</span> + ''' <span class="comment">// arguments and return value by reference except for primitive types -</span> <span class="keyword">Operation</span> operation4(Param1: int32, Param2: DataClass1 ref): DataClass1 <span class="keyword">ref</span> <span class="string">''' +</span> <span class="keyword">Operation</span> operation4(Param1: int32, Param2: DataClass1 ref): DataClass1 <span class="keyword">ref</span> ''' user code - '''</span> + ''' } } </code></pre> @@ -376,17 +376,17 @@ </span> <span class="keyword">Attribute</span> attribute2: float32 <span class="comment">// attribute of another primitive type </span> <span class="comment">// no arguments, no return value -</span> <span class="keyword">Operation</span> operation1(): <span class="keyword">void</span> <span class="string">''' +</span> <span class="keyword">Operation</span> operation1(): <span class="keyword">void</span> ''' user code - '''</span> + ''' <span class="comment">// argument of primitive type, no return value -</span> <span class="keyword">Operation</span> operation2(Param1: int32): <span class="keyword">void</span> <span class="string">''' +</span> <span class="keyword">Operation</span> operation2(Param1: int32): <span class="keyword">void</span> ''' user code - '''</span> + ''' <span class="comment">// argument of primitive type, return value of primitive type -</span> <span class="keyword">Operation</span> operation3(Param1: int32): float64 <span class="string">''' +</span> <span class="keyword">Operation</span> operation3(Param1: int32): float64 ''' user code - '''</span> + ''' } </code></pre> <p>Example: DataClass using other DataClasses:</p> @@ -395,13 +395,13 @@ </span> <span class="keyword">Attribute</span> attribute2: DataClass1 <span class="comment">// attribute of DataClass </span> <span class="comment">// arguments and return value by value -</span> <span class="keyword">Operation</span> operation1(Param1: int32, Param2: DataClass1): DataClass1 <span class="string">''' +</span> <span class="keyword">Operation</span> operation1(Param1: int32, Param2: DataClass1): DataClass1 ''' user code - '''</span> + ''' <span class="comment">// arguments and return value by reference except for primitive types -</span> <span class="keyword">Operation</span> operation2(Param1: int32, Param2: DataClass1 ref): DataClass1 <span class="keyword">ref</span> <span class="string">''' +</span> <span class="keyword">Operation</span> operation2(Param1: int32, Param2: DataClass1 ref): DataClass1 <span class="keyword">ref</span> ''' user code - '''</span> + ''' } </code></pre> <h2><a href="#layering" name="layering"></a>Layering</h2> diff --git a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html index 6c744888f..69d2fca41 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html @@ -1,29 +1,17 @@ <!-- generated by featurizer --> <p>An actor is the basic structural building block for building systems with ROOM</p> -<pre><code class=room customHighlighted><span class=comment>// prefixes: abstract and (eventdriven, datadriven, async, sync) -</span><span class=keyword>ActorClass</span> ActorName [<span class=string>"An eventdriven ActorClass by default"</span>] { - <span class=keyword>Interface</span> { - <span class=keyword>Port</span> port1 ... - <span class=keyword>SPP</span> spp1 ... - } - <span class=keyword>Structure</span> [<span class=string>"Documentation"</span>] { - <span class=keyword>usercode1</span> <span class=string>''' '''</span> - <span class=keyword>usercode2</span> <span class=string>''' '''</span> - <span class=keyword>usercode3</span> <span class=string>''' '''</span> - <span class=keyword>external</span> <span class=keyword>Port</span> port1 - <span class=keyword>Port</span> internalPort2 ... - <span class=keyword>ActorRef</span> ... - <span class=keyword>Attribute</span> ... - - <span class=keyword>ServiceImplementation</span> <span class=keyword>of</span> spp1 - <span class=keyword>Binding</span> ... - <span class=keyword>LayerConnection</span> ... - } - <span class=keyword>Behavior</span> [<span class=string>"Documentation"</span>] { - <span class=keyword>ctor</span> <span class=string>''' /* constructor */ '''</span> - <span class=keyword>dtor</span> <span class=string>''' /* destructor */ '''</span> - <span class=keyword>Operation</span> ... - <span class=keyword>StateMachine</span> ... - } -} +<p>¦¦¦<br/> ```room<br/> // prefixes: abstract and (eventdriven, datadriven, async, sync)<br/> ActorClass ActorName [“An eventdriven ActorClass by default”] {<br/> Interface {<br/> Port port1 …<br/> SPP spp1 …<br/> }<br/> Structure [“Documentation”] {<br/> usercode1 ’’‘ ’’‘<br/> usercode2 ’’‘ ’’‘<br/> usercode3 ’’‘ ’’’<br/> external Port port1<br/> Port internalPort2 …<br/> ActorRef …<br/> Attribute …</p> +<pre><code> ServiceImplementation of spp1 + Binding ... + LayerConnection ... + } + Behavior ["Documentation"] { + ctor ''' /* constructor */ ''' + dtor ''' /* destructor */ ''' + Operation ... + StateMachine ... + } + } + ``` +¦¦¦ </code></pre>
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html index c911d9973..cf95659b4 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html @@ -1,14 +1,10 @@ <!-- generated by featurizer --> <p>A DataClass is a composition of Attributes</p> -<pre><code class=room customHighlighted><span class=keyword>DataClass</span> DataClassName [<span class=string>"Documentation"</span>] { - <span class=keyword>Attribute</span> ... <span class=comment>// nested DataClasses possible -</span> <span class=keyword>ctor</span> <span class=string>''' /* constructor */ '''</span> - <span class=keyword>dtor</span> <span class=string>''' /* destructor */ '''</span> - <span class=keyword>Operation</span> ... -} - -<span class=keyword>DataClass</span> DataClassName <span class=keyword>extends</span> DataSuperClassName [<span class=string>""</span>] { - <span class=comment>// inherits all elements from super class -</span> ... -} +<p>¦¦¦<br/> ```room<br/> DataClass DataClassName [“Documentation”] {<br/> Attribute … // nested DataClasses possible<br/> ctor ’’’ /* constructor <em>/ ’’‘<br/> dtor ’’’ /</em> destructor */ ’’’<br/> Operation …<br/> }</p> +<pre><code> DataClass DataClassName extends DataSuperClassName [""] { + // inherits all elements from super class + ... + } + ``` +¦¦¦ </code></pre>
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html index 448ad66b6..e3bdc24cc 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html @@ -1,16 +1,14 @@ <!-- generated by featurizer --> <p>An Operation is a member function of a class</p> -<pre><code class=room customHighlighted><span class=keyword>Operation</span> operationName() [<span class=string>"A void operation"</span>] <span class=string>''' - user code here; - // don't forget the ';' at line end -'''</span> +<p>¦¦¦<br/> ```room<br/> Operation operationName() [“A void operation”] ’’‘<br/> user code here;<br/> // don’t forget the ’;‘ at line end<br/> ’’’</p> +<pre><code> Operation operationName(param1: int16, param2: int32) : boolean + ["Operations can have multiple parameters and one return type"] ''' + return param1 == param2; + ''' -<span class=keyword>Operation</span> operationName(param1: int16, param2: int32) : boolean - [<span class=string>"Operations can have multiple parameters and one return type"</span>] <span class=string>''' - return param1 == param2; -'''</span> - -<span class=comment>// 'override' replaces implementation of overriding operation, -</span><span class=comment>// becomes effective in entire inheritance hierarchy -</span><span class=keyword>override</span> <span class=keyword>Operation</span> operationName(param: int32) : boolean <span class=string>''' '''</span> + // 'override' replaces implementation of overriding operation, + // becomes effective in entire inheritance hierarchy + override Operation operationName(param: int32) : boolean ''' ''' + ``` +¦¦¦ </code></pre>
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html index c58550412..596542ca6 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html @@ -1,28 +1,9 @@ <!-- generated by featurizer --> <p>A ProtocolClass defines messages and is the interface specification for a Port</p> -<pre><code class=room customHighlighted><span class=comment>// prefixes: (eventdriven, datadriven, sync) -</span><span class=keyword>ProtocolClass</span> ProtocolName [<span class=string>"An eventdriven ProtocolClass by default"</span>] { - <span class=keyword>usercode1</span> <span class=string>''' '''</span> - <span class=keyword>usercode2</span> <span class=string>''' '''</span> - <span class=keyword>usercode3</span> <span class=string>''' '''</span> - <span class=keyword>incoming</span> { - <span class=keyword>Message</span> messageName() - <span class=keyword>Message</span> messageName(int32) - } - <span class=keyword>outgoing</span> { - <span class=keyword>Message</span> ... - } - <span class=keyword>regular</span> <span class=keyword>PortClass</span> { - <span class=keyword>usercode1</span> <span class=string>''' '''</span> - <span class=keyword>Attribute</span> ... - <span class=keyword>Operation</span> ... - } - <span class=keyword>conjugated</span> <span class=keyword>PortClass</span> { - ... - } -} - -<span class=keyword>ProtocolClass</span> ProtocolName <span class=keyword>extends</span> ProtocolSuperClassName { - <span class=comment>// inherits all elements from super class -</span>} +<p>¦¦¦<br/> ```room<br/> // prefixes: (eventdriven, datadriven, sync)<br/> ProtocolClass ProtocolName [“An eventdriven ProtocolClass by default”] {<br/> usercode1 ’’‘ ’’‘<br/> usercode2 ’’‘ ’’‘<br/> usercode3 ’’‘ ’’‘<br/> incoming {<br/> Message messageName()<br/> Message messageName(int32)<br/> }<br/> outgoing {<br/> Message …<br/> }<br/> regular PortClass {<br/> usercode1 ’’‘ ’’’<br/> Attribute …<br/> Operation …<br/> }<br/> conjugated PortClass {<br/> …<br/> }<br/> }</p> +<pre><code> ProtocolClass ProtocolName extends ProtocolSuperClassName { + // inherits all elements from super class + } + ``` +¦¦¦ </code></pre>
\ No newline at end of file |