diff options
author | Juergen Haug | 2018-07-06 12:29:43 +0000 |
---|---|---|
committer | Juergen Haug | 2018-07-06 12:32:12 +0000 |
commit | 450ecd35bff741f7ba4568c53a80b80b618b5312 (patch) | |
tree | e5aa7552b09c389d6f2121b2eafe0fd9eb804da7 | |
parent | 34954ef402fb6571701cc758edd5e9b4cf5d8cae (diff) | |
download | org.eclipse.etrice-450ecd35bff741f7ba4568c53a80b80b618b5312.tar.gz org.eclipse.etrice-450ecd35bff741f7ba4568c53a80b80b618b5312.tar.xz org.eclipse.etrice-450ecd35bff741f7ba4568c53a80b80b618b5312.zip |
[doc] added documentation for transitionData migration
Change-Id: I587721179c7d280edb74aa7564429dbfb7488592
18 files changed, 209 insertions, 78 deletions
diff --git a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java index f98656339..9329602ce 100644 --- a/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java +++ b/plugins/org.eclipse.etrice.core.room/src/org/eclipse/etrice/core/validation/RoomJavaValidator.java @@ -807,7 +807,7 @@ public class RoomJavaValidator extends AbstractRoomJavaValidator { @Check public void checkMessageData(MessageData m) { if (m.getDeprecatedName()!=null) { - warning("The data name of messages is deprecated", RoomPackage.Literals.MESSAGE_DATA__DEPRECATED_NAME, DEPRECATED_MESSAGE_DATA_NAME); + warning("The data name of messages is deprecated (always named 'transitionData' in action code)", RoomPackage.Literals.MESSAGE_DATA__DEPRECATED_NAME, DEPRECATED_MESSAGE_DATA_NAME); } } } diff --git a/plugins/org.eclipse.etrice.doc/online-doc/config/_master.json b/plugins/org.eclipse.etrice.doc/online-doc/config/_master.json index 45e346494..0382c2135 100644 --- a/plugins/org.eclipse.etrice.doc/online-doc/config/_master.json +++ b/plugins/org.eclipse.etrice.doc/online-doc/config/_master.json @@ -47,5 +47,11 @@ { "name" : "Developer's Reference", "url" : "developers-reference.html" - }] + }, + { + "name" : "Release Notes", + "url" : "release-notes.html" + } + + ] }
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.doc/online-doc/config/release-notes.json b/plugins/org.eclipse.etrice.doc/online-doc/config/release-notes.json new file mode 100644 index 000000000..d0e4c09b7 --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/online-doc/config/release-notes.json @@ -0,0 +1,6 @@ +{ + "contentToc" : { + "parentName" : "Release Notes", + "toc" : "auto" + } +}
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.doc/online-doc/content/release-notes.md b/plugins/org.eclipse.etrice.doc/online-doc/content/release-notes.md new file mode 100644 index 000000000..d57c18f0c --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/online-doc/content/release-notes.md @@ -0,0 +1,26 @@ + +Release Notes +========= + +Noteworthy release changes are described here. + +1.1.3 Migration +-------------------------- + +<span class="label label-danger">Breaking Changes:</span> This release contains a breaking change to models used with previous versions. + + +The name of the data for protocol messages is not longer used and is marked as deprecated. In state machines the message data is now named `transitionData`. Thus **all occurrences of the message data have to be renamed**. The changes to the model are depicted in the picture below: + +![image](images/600-TransitionDataMigration.png) + +eTrice provides a **migration action** which automatically applies the modification to a complete model file. But it is not guaranteed to find all instances of the message data, thus it may be necessary to apply the changes manually. The migration can be triggered via editor right click and hitting *Migration Transition Data Style* action. + +![image](images/600-TransitionDataMigrationAssitant.png) + +<span class="label label-info">Note:</span> The migration assistant relies on the message data names, thus the names should not be removed until you have fully migrated your project and all dependent projects. + +<br/> +In addition eTrice now uses the so-called *Smart Strings* for user code. This is not a breaking change, but it is recommended to migrate to this new syntax also. Using the Transition Data migration action will automatically convert all affected user codes into Smart Strings. Further there is a dedicated migration action for the Smart Strings, see **Migrate to Smart Action Codes** above. Additionally there is a quickfix available: + +![image](images/600-DetailcodeMigration.png) diff --git a/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-DetailcodeMigration.png b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-DetailcodeMigration.png Binary files differnew file mode 100644 index 000000000..4d81ea73a --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-DetailcodeMigration.png diff --git a/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigration.png b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigration.png Binary files differnew file mode 100644 index 000000000..cf4544d97 --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigration.png diff --git a/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigrationAssitant.png b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigrationAssitant.png Binary files differnew file mode 100644 index 000000000..02fa1d827 --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/online-doc/static/images/600-TransitionDataMigrationAssitant.png diff --git a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml index 841081ad3..ad2eb274b 100644 --- a/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml +++ b/plugins/org.eclipse.etrice.doc/targets/contextHelp.xml @@ -1,44 +1,6 @@ <!-- generated by featurizer --> <contexts> -<context id="featureContextHelp_CCodeGenerator" title="CCodeGenerator"> -<description></description> -<topic href="targets/eclipse-help/feature-reference.html#ccodegenerator" label="CCodeGenerator"/> -</context> - -<context id="featureContextHelp_JavaCodeGenerator" title="JavaCodeGenerator"> -<description></description> -<topic href="targets/eclipse-help/feature-reference.html#javacodegenerator" label="JavaCodeGenerator"/> -</context> - -<context id="featureContextHelp_CPPCodeGenerator" title="CPPCodeGenerator"> -<description></description> -<topic href="targets/eclipse-help/feature-reference.html#cppcodegenerator" label="CPPCodeGenerator"/> -</context> - -<context id="featureContextHelp_GenerationOptions" title="GenerationOptions"> -<description>Mechanism to adjust the generation.</description> -<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="GenerationOptions"/> -<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="CCodeGenerator"/> -<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="JavaCodeGenerator"/> -<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="MSCLogging"/> -</context> - -<context id="featureContextHelp_MSCLogging" title="MSCLogging"> -<description>Runtime logger for event-driven Messages, represented as a Message Sequence Chart.</description> -<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="MSCLogging"/> -<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="GenerationOptions"/> -<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="CCodeGenerator"/> -<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="JavaCodeGenerator"/> -</context> - -<context id="featureContextHelp_DataLogging" title="DataLogging"> -<description>Runtime logger for data-driven Messages with primitive data.</description> -<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="DataLogging"/> -<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="Annotation"/> -<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="CCodeGenerator"/> -</context> - <context id="featureContextHelp_TextualROOMEditor" title="TextualROOMEditor"> <description>Textual model editor</description> <topic href="targets/eclipse-help/feature-reference.html#textualroomeditor" label="TextualROOMEditor"/> @@ -106,12 +68,12 @@ <description>An Annotation can be attached to a ROOM classes to apply the properties of its AnnotationType</description> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="Annotation"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="AnnotationType"/> -<topic href="targets/eclipse-help/feature-reference.html#annotation" label="DataLogging"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="LogicalSystem"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="ActorClass"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="SubSystemClass"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="ProtocolClass"/> <topic href="targets/eclipse-help/feature-reference.html#annotation" label="DataClass"/> +<topic href="targets/eclipse-help/feature-reference.html#annotation" label="DataLogging"/> </context> <context id="featureContextHelp_Inheritance" title="Inheritance"> @@ -363,4 +325,42 @@ <topic href="targets/eclipse-help/feature-reference.html#spp" label="LayerConnection"/> <topic href="targets/eclipse-help/feature-reference.html#spp" label="ServiceImplementation"/> </context> + +<context id="featureContextHelp_CCodeGenerator" title="CCodeGenerator"> +<description></description> +<topic href="targets/eclipse-help/feature-reference.html#ccodegenerator" label="CCodeGenerator"/> +</context> + +<context id="featureContextHelp_JavaCodeGenerator" title="JavaCodeGenerator"> +<description></description> +<topic href="targets/eclipse-help/feature-reference.html#javacodegenerator" label="JavaCodeGenerator"/> +</context> + +<context id="featureContextHelp_CPPCodeGenerator" title="CPPCodeGenerator"> +<description></description> +<topic href="targets/eclipse-help/feature-reference.html#cppcodegenerator" label="CPPCodeGenerator"/> +</context> + +<context id="featureContextHelp_GenerationOptions" title="GenerationOptions"> +<description>Mechanism to adjust the generation.</description> +<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="GenerationOptions"/> +<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="CCodeGenerator"/> +<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="JavaCodeGenerator"/> +<topic href="targets/eclipse-help/feature-reference.html#generationoptions" label="MSCLogging"/> +</context> + +<context id="featureContextHelp_MSCLogging" title="MSCLogging"> +<description>Runtime logger for event-driven Messages, represented as a Message Sequence Chart.</description> +<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="MSCLogging"/> +<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="GenerationOptions"/> +<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="CCodeGenerator"/> +<topic href="targets/eclipse-help/feature-reference.html#msclogging" label="JavaCodeGenerator"/> +</context> + +<context id="featureContextHelp_DataLogging" title="DataLogging"> +<description>Runtime logger for data-driven Messages with primitive data.</description> +<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="DataLogging"/> +<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="Annotation"/> +<topic href="targets/eclipse-help/feature-reference.html#datalogging" label="CCodeGenerator"/> +</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 32884778e..2cfa1d0ee 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 @@ -1323,6 +1323,26 @@ +<li><a href="release-notes.html">Release Notes</a> +<ul> +<li><a href="release-notes.html#1-1-3-migration">1.1.3 Migration</a></li> + + + + + + + + +</ul> +</li> + + + + + + + </ul> </body> diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-DetailcodeMigration.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-DetailcodeMigration.png Binary files differnew file mode 100644 index 000000000..4d81ea73a --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-DetailcodeMigration.png diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigration.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigration.png Binary files differnew file mode 100644 index 000000000..cf4544d97 --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigration.png diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigrationAssitant.png b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigrationAssitant.png Binary files differnew file mode 100644 index 000000000..02fa1d827 --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/images/600-TransitionDataMigrationAssitant.png diff --git a/plugins/org.eclipse.etrice.doc/targets/eclipse-help/release-notes.html b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/release-notes.html new file mode 100644 index 000000000..3a6eadbee --- /dev/null +++ b/plugins/org.eclipse.etrice.doc/targets/eclipse-help/release-notes.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" > +<title>eTrice Documentation</title> + +<link rel="stylesheet" type="text/css" href="css/book.css"/> +<link rel="stylesheet" type="text/css" href="css/custom-common.css"/> + +</head> +<body> + + + + + +<h1><a href="#release-notes" name="release-notes"></a>Release Notes</h1> +<p>Noteworthy release changes are described here.</p> +<h2><a href="#1-1-3-migration" name="1-1-3-migration"></a>1.1.3 Migration</h2> +<p><span class="label label-danger">Breaking Changes:</span> This release contains a breaking change to models used with previous versions.</p> +<p>The name of the data for protocol messages is not longer used and is marked as deprecated. In state machines the message data is now named <code>transitionData</code>. Thus <strong>all occurrences of the message data have to be renamed</strong>. The changes to the model are depicted in the picture below:</p> +<p><img src="images/600-TransitionDataMigration.png" alt="image"></p> +<p>eTrice provides a <strong>migration action</strong> which automatically applies the modification to a complete model file. But it is not guaranteed to find all instances of the message data, thus it may be necessary to apply the changes manually. The migration can be triggered via editor right click and hitting <em>Migration Transition Data Style</em> action.</p> +<p><img src="images/600-TransitionDataMigrationAssitant.png" alt="image"></p> +<p><span class="label label-info">Note:</span> The migration assistant relies on the message data names, thus the names should not be removed until you have fully migrated your project and all dependent projects.</p> +<br> +<p>In addition eTrice now uses the so-called <em>Smart Strings</em> for user code. This is not a breaking change, but it is recommended to migrate to this new syntax also. Using the Transition Data migration action will automatically convert all affected user codes into Smart Strings. Further there is a dedicated migration action for the Smart Strings, see <strong>Migrate to Smart Action Codes</strong> above. Additionally there is a quickfix available:</p> +<p><img src="images/600-DetailcodeMigration.png" alt="image"></p> + +</body> +</html> + + 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 02f963047..aee1cd76c 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 @@ -168,5 +168,8 @@ </topic> </topic> </topic> +</topic><topic href="targets/eclipse-help/release-notes.html" label="Release Notes"> +<topic href="targets/eclipse-help/release-notes.html#1-1-3-migration" label="1.1.3 Migration"> +</topic> </topic> </toc>
\ No newline at end of file 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 69d2fca41..6c744888f 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ActorClass.html @@ -1,17 +1,29 @@ <!-- generated by featurizer --> <p>An actor is the basic structural building block for building systems with ROOM</p> -<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 ... - } - } - ``` -¦¦¦ +<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> ... + } +} </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 cf95659b4..c911d9973 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/DataClass.html @@ -1,10 +1,14 @@ <!-- generated by featurizer --> <p>A DataClass is a composition of Attributes</p> -<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 - ... - } - ``` -¦¦¦ +<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> ... +} </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 e3bdc24cc..448ad66b6 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/Operation.html @@ -1,14 +1,16 @@ <!-- generated by featurizer --> <p>An Operation is a member function of a class</p> -<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; - ''' +<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> - // 'override' replaces implementation of overriding operation, - // becomes effective in entire inheritance hierarchy - override Operation operationName(param: int32) : boolean ''' ''' - ``` -¦¦¦ +<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> </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 3210587d5..c58550412 100644 --- a/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html +++ b/plugins/org.eclipse.etrice.doc/targets/keyword-hover/ProtocolClass.html @@ -1,9 +1,28 @@ <!-- generated by featurizer --> <p>A ProtocolClass defines messages and is the interface specification for a Port</p> -<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(data: 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 - } - ``` -¦¦¦ +<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>} </code></pre>
\ No newline at end of file |