Commit d234e70c authored by Kristof Szabados's avatar Kristof Szabados
Browse files

minor fixes.


Signed-off-by: Kristof Szabados's avatarKristof Szabados <Kristof.Szabados@ericsson.com>
parent 369cde67
......@@ -50,9 +50,9 @@ The following information should be included into trouble reports:
* If the problem generates some output to:
* TITAN Console
** TITAN Console
* TITAN Debug Console
** TITAN Debug Console
* If the Error view contains some related information, that should be copied too.
......
......@@ -61,5 +61,4 @@ Hide types (image:images/icon_03.png[filter_03])
image::images/10_F112.png[title="Outline view icons for TTCN-3 and ASN.1"]
Pitfalls
NOTE: As long we have to re-parse the whole TTCN-3 and ASN.1 modules on a change the outline view will always have to reinitialize all of its contents. This means, that all structures actually open at such a change will b closed (in fact the old structure will be deleted and a new will be created).
NOTE: As long we have to re-parse the whole TTCN-3 and ASN.1 modules on a change the outline view will always have to reinitialize all of its contents. This means, that all structures actually open at such a change will be closed (in fact the old structure will be deleted and a new will be created).
......@@ -44,7 +44,7 @@ The default setting is: *“Become outdated”*
* **When the compiler runs the on-the-fly markers.**
+
When the compiler starts it can trigger the following behaviors for error markers generated by the on-the-fly analyzer previously: *“Are removed”*, *“Stay”*.Setting this option to *“Stay”* can enhance the speed of the on-the-fly analyzer, because if the markers need to be refreshed, so does all syntactic and semantic information needs to be refreshed too. +
When the compiler starts it can trigger the following behaviors for error markers generated by the on-the-fly analyzer previously: *“Are removed”*, *“Stay”*. Setting this option to *“Stay”* can enhance the speed of the on-the-fly analyzer, because if the markers need to be refreshed, so does all syntactic and semantic information needs to be refreshed too. +
The default setting is: *“Are removed”.*
* **Maximum number of build processes to use.**
......@@ -54,7 +54,7 @@ The option is set equal the number of processors/cores available in the system b
* **Display debug preferences**
+
By default, the Designer plug-in isn’t logging debug information to the Debug Console to help solving problems.However as errors are reported to the Error Log of Eclipse this information is rarely used. Most of the time these printouts hold no value for the users.Debugging and load balancing features can be set by this option see <<debug, here>>.
By default, the Designer plug-in isn’t logging debug information to the Debug Console to help solving problems. However as errors are reported to the Error Log of Eclipse this information is rarely used. Most of the time these printouts hold no value for the users. Debugging and load balancing features can be set by this option see <<debug, here>>.
+
The option is NOT CHECKED by default because most of the time these features hold no value for the users.
+
......@@ -74,12 +74,12 @@ The following options can be set on the Content Assist page (see figure above):
* **Insert single proposals automatically**
+
When the analysis finds that there is only one possible proposal to show to the user, it can be set whether it should be inserted automatically, or displayed anyway. +
When the analysis finds only one possible proposal to show to the user, it can be set whether it should be inserted automatically, or displayed anyway. +
This option is NOT CHECKED by default.
* **Insert common prefixes automatically**
+
Very often it happens, that all of the listed proposals start with a common prefix, that is longer than the text being extended (for example naming conventions usually have such prefixes). +
Very often all of the listed proposals start with a common prefix, that is longer than the text being extended (for example naming conventions usually have such prefixes). +
In such cases if this option is checked, the common prefix will be inserted automatically. This way the user only has to enter those characters that actually differentiate between two options, allowing finishing with the actual code completion much faster. +
This option is NOT CHECKED by default.
......@@ -205,7 +205,7 @@ The options are as follows:
* **Refresh tpd file automatically on adding/deleting/renaming file/folder and on modifying project properties**
+
Choose this option if you want to have up-to-date tpd files in your workspace.This is useful if you want to store information of your project in tpd files and the content of your projects changes frequently.
Choose this option if you want to have up-to-date tpd files in your workspace. This is useful if you want to store information of your project in tpd files and the content of your projects changes frequently.
* **Request new location for the tpds at the first automatic save**
+
......@@ -299,7 +299,7 @@ Right now the on-the-fly parser might take a long time to run depending on the s
* **Enable the incremental parsing of TTCN-3 files (EXPERIMENTAL)**
+
By default when source code is modified the whole file needs to be syntactically re-analyzed, which can take up to a few seconds for large files. Incremental parsing tries to utilize the already existing syntactic and semantic information to speed up this process, by only re-analyzing a minimal part of the code whose semantic value might have changed because of the modification. When used correctly the length of the syntactic re-analyzing can be reduced to the 10-2 second range, even for file of ten thousands of lines. It is still in experimental phase. This option is UNCHECKED by default.
By default when source code is modified the whole file needs to be syntactically re-analyzed, which can take up to a few seconds for large files. Incremental parsing tries to utilize the already existing syntactic and semantic information to speed up this process, by only re-analyzing a minimal part of the code whose semantic value might have changed because of the modification. When used correctly the length of the syntactic re-analyzing can be reduced to the latexmath:[10^(-2)] second range, even for file of ten thousands of lines. It is still in experimental phase. This option is UNCHECKED by default.
+
NOTE: `ttcnpp` files are not analyzed incrementally even if incremental analysis is switched on.
......@@ -406,19 +406,19 @@ The on-the-fly checker, when a definition was declared to be changeable, but is
* **Report TTCN-3 definitions that could be private, but are not set so**
+
By default all definitions are public, but by declaring some private one can make them invisible to importing modules. This might be useful in case of internal functions, types, and constants.The on-the-fly checker, when it detects TTCN-3 definitions that could be private, but are not set so, triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
By default all definitions are public, but by declaring some private one can make them invisible to importing modules. This might be useful in case of internal functions, types, and constants. The on-the-fly checker, when it detects TTCN-3 definitions that could be private, but are not set so, triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
* **Report TTCN-3 definitions that have too many parameters**
+
The more parameters some entity has, the harder it becomes to fill them out correctly without introducing faults.The on-the-fly checker, when more parameters are detected than the limit specified in the next field ``The size the amount of parameters should not exceed'' then triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
The more parameters some entity has, the harder it becomes to fill them out correctly without introducing faults. The on-the-fly checker, when more parameters are detected than the limit specified in the next field ``The size the amount of parameters should not exceed'' then triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
* **Report empty statement blocks**
+
Empty statement blocks in the source code usually means, that the developer planned to write some code there to handle some use cases, but forgot to finish it or is right now in the process of finishing it.The on-the-fly checker, when an empty statement block is detected, triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
Empty statement blocks in the source code usually means, that the developer planned to write some code there to handle some use cases, but forgot to finish it or is right now in the process of finishing it. The on-the-fly checker, when an empty statement block is detected, triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
* **Report statement blocks that have too many statements**
+
If a statement block becomes very long it becomes hard to understand. Therefore, long statement blocks should usually be refactored into several individual ones or into individual functions that focus on a specific task.The on-the-fly checker, when more lines are detected in a block than the limit specified in the next field ``The size the amount of statements should not exceed'' then triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
If a statement block becomes very long it becomes hard to understand. Therefore, long statement blocks should usually be refactored into several individual ones or into individual functions that focus on a specific task. The on-the-fly checker, when more lines are detected in a block than the limit specified in the next field ``The size the amount of statements should not exceed'' then triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Ignore*.
* **Report too big or too small shift and rotation sizes**
+
......@@ -434,7 +434,7 @@ The on-the-fly checker, when it detects that a setverdict does not contain a rea
* **Report incorrect syntax in extension attributes.**
+
According to the standard syntax errors in the extension attribute should not be reported, but should be assumed as correct for some other tool**.**The on-the-fly checker, when a syntax error is detected in an extension attribute, triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Error*.
According to the standard syntax errors in the extension attribute should not be reported, but should be assumed as correct for some other tool. The on-the-fly checker, when a syntax error is detected in an extension attribute, triggers one of the following behaviors: *Ignore*, *Warning*, *Error*. The default setting is: *Error*.
The on-the-fly checker is described in detail <<7-editing_with_titan_designer_plugin.adoc#on-the-fly-semantic-checking, here>>.
......@@ -445,7 +445,7 @@ NOTE: Changing these preferences will trigger a full re-checking of the projects
The detection of unused module importations and definitions is based on the semantic analyzes done on-the-fly. As that is not yet a full semantic analyzes, these feature can also produce only heuristic behavior.
For example, every importation / definition will be reported unused, if it is not used by the semantic analyzer. This sadly does not mean that they are actually not used, but on the contrary it means that every importation / definition not marked is sure to be used.However this also means that if there are any unused importations / definitions in the project they will be contained in this list, thus considerably reducing every effort needed to find them.
For example, every importation / definition will be reported unused, if it is not used by the semantic analyzer. This sadly does not mean that they are actually not used, but on the contrary it means that every importation / definition not marked is sure to be used. However this also means that if there are any unused importations / definitions in the project they will be contained in this list, thus considerably reducing every effort needed to find them.
== Naming Conventions
......@@ -465,11 +465,11 @@ Section "Other naming rules":
* **Report if the name of the module is mentioned in the name of the definition**
+
Definitions can be referenced in the `modulename.identifier` format, in order to avoid a name collision. Adding the module name to the definition is unnecessary, this only makes it longer.The on-the-fly checker, when it detects that a definition contains its module name, triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
Definitions can be referenced in the `modulename.identifier` format, in order to avoid a name collision. Adding the module name to the definition is unnecessary, this only makes it longer. The on-the-fly checker, when it detects that a definition contains its module name, triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
* **Report visibility settings mentioned in the name of definitions**
+
Visibility attributes should not be mentioned in the names of the definitions. They should be explicitly set as visibility attributes of the definition.The on-the-fly checker, when it detects that a definition contains a visibility attribute (private, public, friend), triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
Visibility attributes should not be mentioned in the names of the definitions. They should be explicitly set as visibility attributes of the definition. The on-the-fly checker, when it detects that a definition contains a visibility attribute (private, public, friend), triggers one of the following behaviors: *Ignore, Warning, Error*. The default setting is: *Ignore*.
[[syntax-coloring-preferences]]
== Syntax Coloring Preferences
......
......@@ -319,7 +319,7 @@ Both options will be applied the *CXXFLAGS* macro.
+
NOTE: The *–Wall* option is not displayed here, but is generated into the `Makefile`. It is required for proper operation.
+
For more information on the optimization flags please refer to the documentation of your C/{cpp} compiler. In case of the default C/{cpp} compiler *g++* is the manual pages of *g++* (invoked with the *man g++* command line command).
For more information on the optimization flags please refer to the documentation of your C/{cpp} compiler. In case of the default C/{cpp} compiler g\++ is the manual pages of g++ (invoked with the *man g++* command line command).
. Platform Specific Libraries
+
......@@ -429,7 +429,7 @@ NOTE: It is suggested to switch off checking the naming convention because it si
image::images/4_F55.png[title="Requirements on the actual configuration of referenced projects"]
On this page it is possible to set for each project, directly referenced by the actual one, a requirement on its actual configuration. If the actual configuration on the given project is not the same as the required one it will cause a build error.This way it is possible to have fairly large project hierarchies, while still being able to consistently support build configuration for each project.
On this page it is possible to set for each project, directly referenced by the actual one, a requirement on its actual configuration. If the actual configuration on the given project is not the same as the required one it will cause a build error. This way it is possible to have fairly large project hierarchies, while still being able to consistently support build configuration for each project.
To change the requirement for a project either *select it* in the list and click on the *Edit…* button, or *double click on it* in the list.
......@@ -457,7 +457,7 @@ image::images/4_F57.png[title="Remote build attributes"]
On this property page one or more hosts can be chosen to build the project remotely. The modalities of the remote build process on these hosts are also set.
To set the project properties for remote build first *right click* the project and select *Properties* than select *Remote build* on the left pane(Figure 57). (If *Remote build* is missing from the left pane, *left click* the *⊞* sign next to the *TITAN Project Property*; see Figure 52.)
To set the project properties for remote build first *right click* the project and select *Properties* than select *Remote build* on the left pane(Figure 57). (If *Remote build* is missing from the left pane, *left click* the triangle sign next to the *TITAN Project Property*; see Figure 52.)
The checkbox *Execute the build commands in parallel* controls how the provided build commands should be executed.
......@@ -541,7 +541,7 @@ To access the Pop-up menu (the second alternative), *right click* the folderand
[[converting-a-folder-into-a-central-storage]]
== Converting a Folder into a Central Storage
A folder marked as Central Storage is assumed to have its own `Makefile`. For this reason, when this property of a directory is toggled, the `Makefile` and the symbolic links are updated (provided that automatic `Makefile` management is enabled for the project). For description of the Central Storage concept, please to refer to the TITAN User Guide (<<12-references.adoc#_3, [3]>>), section 11.3.1.
A folder marked as Central Storage is assumed to have its own `Makefile`. For this reason, when this property of a directory is toggled, the `Makefile` and the symbolic links are updated (provided that automatic `Makefile` management is enabled for the project). For description of the Central Storage concept, please refer to the TITAN User Guide (<<12-references.adoc#_3, [3]>>), section 11.3.1.
A directory’s Central storage property can be toggled the following way:
......@@ -612,7 +612,7 @@ image::images/4_F67.png[title="Import Archive file wizard"]
To import a project from an existing mctr_gui project file follow the steps described below:
. *Right click* somewhere in *Project Explorer* and select *Import*, as shown on Figure 63.
.On the *Import* window select *TITAN / Project from .prj file* and press *next* (below).
On the *Import* window select *TITAN / Project from .prj file* and press *next* (below).
+
image::images/4_F68.png[title="Import from .prj file"]
......@@ -646,7 +646,7 @@ image::images/4_F72.png[title=""]
. In The Import File system dialog select *Browse* near to field *``From directory''* (as seen below) then find and select the src folder of the project to be imported.
+
image::images/4_F73.png[title=""]
. Click on the button "*Advanced>>>*" in the "Import file system" dialog, select the options "*Create link in workspace*" an unselect options "*create virtual folders*" and "*create link locations relative to:*" as shown on below.
. Click on the button "*Advanced>>*" in the "Import file system" dialog, select the options "*Create link in workspace*" an unselect options "*create virtual folders*" and "*create link locations relative to:*" as shown on below.
+
image::images/4_F74.png[title=""]
. Push Finish. The src folder appears under the project name in the Project Explorer as linked resource (the icon before the src contains a little link arrow) as shown below.
......
......@@ -81,7 +81,7 @@ If done from Eclipse one just has to create a new project, setting the location
If it is needed to perform this step from the command line, one needs to place a default ".project" and ".TITAN_properties" file in the base folder of this project.
In the ""project" the name of the project has to be set. Eclipse should be able to import the project and all further configurations can be done from there.
In the "project" the name of the project has to be set. Eclipse should be able to import the project and all further configurations can be done from there.
=== Large Project Sets Consisting of Several Included Projects or Logically Separate Parts
......@@ -106,7 +106,7 @@ image::images/5_F82.png[title="Two large projects"]
If the project uses central storage folders there are two good solutions possible:
* If it is possible these cases should be solved by converting the central storage relation into a referencing relation between 2 projects.As such the folder declared to be a central storage should be converted into a project on its own, and the original project should be set to reference this project. For more information, please refer to section 4.6.
* If it is possible these cases should be solved by converting the central storage relation into a referencing relation between 2 projects. As such the folder declared to be a central storage should be converted into a project on its own, and the original project should be set to reference this project. For more information, please refer to section 4.6.
* A second solution is to create a folder in the project for each such reference and set it as central storage. It is recommended to do this change from Eclipse by a single right click on the folder. If this has to be done from the command line, the ".TITAN_properties" file’s "FolderProperties" section has to be extended with the following code:
......
......@@ -116,15 +116,15 @@ The build process can be configured to set the build level for the given project
* Level 0 – Semantic Check
+
Only syntactic and semantic checks are carried out on the TTCN-3 and ASN.1 source files.Uses the Makefile target *check*.
Only syntactic and semantic checks are carried out on the TTCN-3 and ASN.1 source files. Uses the Makefile target *check*.
* Level 1 – TTCN3 → {cpp} compilation
+
In addition to the syntactic and semantic checks, the {cpp} code is also generated from the TTCN-3 and ASN.1 source files if there were no errors found.Uses the `Makefile` target *compile*.
In addition to the syntactic and semantic checks, the {cpp} code is also generated from the TTCN-3 and ASN.1 source files if there were no errors found. Uses the `Makefile` target *compile*.
* Level 2 – Creating object files
+
Executes the syntactic and semantic checks, generates the {cpp} code and tries to compile it into object (`.o`) and if applicable, into shared object (`.so`) files.Uses the `Makefile` target *objects* or *shared_objects*.
Executes the syntactic and semantic checks, generates the {cpp} code and tries to compile it into object (`.o`) and if applicable, into shared object (`.so`) files. Uses the `Makefile` target *objects* or *shared_objects*.
* Level 2.5 – Creating object files with heuristic dependency update
+
......@@ -140,7 +140,7 @@ Carries out a full build and creates the Executable Test Suite, but the dependen
* Level 4.5 – Creating Executable Test Suite with heuristic dependency update
+
Carries out a full build, creates the Executable Test Suite and the dependencies are also updated if that is needed. This means that the long lasting dependency refresh will not be executed if only such files that the on-the-fly analyzer is able to analyze were changed since the last build, and none of the changes made make a dependency refresh mandatory.Uses the `Makefile` target *all* or *dep all*.
Carries out a full build, creates the Executable Test Suite and the dependencies are also updated if that is needed. This means that the long lasting dependency refresh will not be executed if only such files that the on-the-fly analyzer is able to analyze were changed since the last build, and none of the changes made make a dependency refresh mandatory. Uses the `Makefile` target *all* or *dep all*.
* Level 5 – Creating Executable Test Suite with dependency update
+
......
......@@ -253,7 +253,7 @@ Only data gathered and stored by the on-the-fly parsers can be offered. If this
Open Declaration provides a feature to jump to the declaration point of the selected element.
Open Declaration can be invoked either by a key combination (by default *F3*) or by *right clicking* anywhere on the screenand selecting *Open Declaration*. The element is determined by the current position of the cursor when the functionality is invoked.
Open Declaration can be invoked either by a key combination (by default *F3*) or by *right clicking* anywhere on the screen and selecting *Open Declaration*. The element is determined by the current position of the cursor when the functionality is invoked.
The search for the declaration is done this order:
......@@ -307,7 +307,7 @@ It is not always guaranteed that all references to the selected element will be
[[mark-occurrences-1]]
== Mark Occurrences
The TTCN3 and ASN.1 editors are able to highlight the occurrences of the currently selected element in the source code. The search for the occurrences is based on semantic information (see <<find-references, here>>). As the selection or the position of the cursor changes in the editor, the marks are updated automatically. The feature can be configured on the TITAN Preference page (see <<3-setting_workbench_preferences.adoc#mark-occurrences-0, here>>).
The TTCN-3 and ASN.1 editors are able to highlight the occurrences of the currently selected element in the source code. The search for the occurrences is based on semantic information (see <<find-references, here>>). As the selection or the position of the cursor changes in the editor, the marks are updated automatically. The feature can be configured on the TITAN Preference page (see <<3-setting_workbench_preferences.adoc#mark-occurrences-0, here>>).
[[limitations-1]]
=== Limitations
......@@ -386,7 +386,7 @@ Changes made to the parameters must be saved by the shortcut key *Ctrl+S*.
The values of all parameters on this page are passed to test ports.
A new parameter can be added by clicking the *Add…* button. The column *Component name* contains the name of the component defining the test port. An asterisk (*) denotes all ports of the Test System Interface. The column *Test port name* is the name of the test port. The column *Parameter name* is self-explanatory. The value of the parameter is determined by the string in the pane *Test port parameter details* in free form as parameters may have different formats.
A new parameter can be added by clicking the *Add…* button. The column *Component name* contains the name of the component defining the test port. An asterisk (\*) denotes all ports of the Test System Interface. The column *Test port name* is the name of the test port. The column *Parameter name* is self-explanatory. The value of the parameter is determined by the string in the pane *Test port parameter details* in free form as parameters may have different formats.
Highlighted existing parameters are removed by clicking the *Remove* button.
......@@ -499,7 +499,7 @@ The field *Total* under the buttons shows the number of the defined macros.
The executable test program produces a log file during its run. The log file contains important test execution events with time stamps. Logging may be directed to file or displayed on console (standard error). This section explains how to set the parameters connected to the log file.
image::images/7_F101.jpg[title="Figure Logging"]
image::images/7_F101.jpg[title="Logging"]
==== Components and Plug-ins
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment