Difference between revisions of "Core.Declarations.GlobalDeclarations"

From emotive
Jump to navigation Jump to search
 
(4 intermediate revisions by 2 users not shown)
Line 8: Line 8:
 
* Global Constants
 
* Global Constants
 
* Context Variables
 
* Context Variables
 +
* State Variables
 
* Document Variables
 
* Document Variables
  
These elements have a global scope. That is, they can be used within the document in which they are declared, as well as in other documents, see [[Core.Imports|Imports]].
+
These elements have a global scope. That is, they can be used anywhere within the document in which they are declared, as well as in other documents, see [[Core.Imports|Imports]]. One global declaration of a document can not have the same with another global declaration of the same document.
  
 
== Semantics ==
 
== Semantics ==
 
=== Global Constant ===
 
=== Global Constant ===
The value of a global constant is set at design-time and can not be changed at runtime. The global constants must have one of the following [[Core.OtxVisibilities|Visibilities]]:
+
The value of a global constant is set at design-time and can not be changed at runtime. The global constants must have one of the following [[Core.Visibilities|Visibilities]]:
  
 
* Private (default)  
 
* Private (default)  
Line 20: Line 21:
 
* Public
 
* Public
  
A constant has a [[Core.OtxDataTypes|Type]] and a value corresponding to the type.
+
A constant has a [[Core.DataTypes|Type]] and it must have a initial value corresponding to the type. As a result, they can not has [[Core.DataTypes|Type]] which does not has an explicit value.
  
=== Global Variable (Document Variable) ===
+
=== Context Variable ===
The value of a global variable can be changed at runtime. Global variables can only be used in the same document. Therefore, they only have one following [[Core.Visibilities|Visibility]]:
+
Context variables are environment variables which behave like global constants. However, they have a special meaning. They represent environment-related data, such as vehicle type, name of workshop, user login name, etc., see the [[General.Principles#ContextConcept|Context Concept]]. Context variables are the counter part of state variables. They are mechanism to transport environment information to the sequence. The context variables must have one of the following [[Core.Visibilities|Visibilities]]:
  
* Private (fixed)
+
* Private (default)
 +
* Package
 +
* Public
  
A variable has a [[Core.DataTypes|Type]] and an initial value (default value) corresponding to the type.
+
A context variable has a [[Core.DataTypes|Type]] and it may have an initial value corresponding to the type.
  
=== Environment Variable (Context Variable) ===
+
=== State Variable ===
Context variables behave like global constants. However, they have a special meaning. They represent environment-related data, such as vehicle type, name of workshop, user login name, etc., see the [[General.Principles#ContextConcept|Context Concept]]. The context variables must have one of the following [[Core.Visibilities|Visibilities]]:
+
State variables are environment variables which behave like global variables. However, state variables can only be set and cannot read inside OTX, the test logic shall not be based on the value of a State variable. State variables are the counter part of context variables. They are mechanism to transport status information from inside a sequence to the environment. The state variables must have one of the following [[Core.Visibilities|Visibilities]]:
  
 
* Private (default)
 
* Private (default)
Line 36: Line 39:
 
* Public
 
* Public
  
A context variable has a [[Core.DataTypes|Type]] and a default value corresponding to the type.
+
A state variable has a [[Core.DataTypes|Type]] and it may have a initial value corresponding to the type.
 +
 
 +
=== Global Variable (Document Variable) ===
 +
The value of a global variable can be changed at runtime. Global variables can only be used in the same document. Therefore, they only have one following [[Core.Visibilities|Visibility]]:
 +
 
 +
* Private (fixed)
 +
 
 +
A variable has a [[Core.DataTypes|Type]] and it may have a initial value corresponding to the type.
  
 
== Checker rules ==
 
== Checker rules ==
Line 43: Line 53:
 
{{TableRowKeyValueList|[[Core.Validation.CoreChk051|Core_Chk051]]|Immutability of constants, input parameters and context variables}}
 
{{TableRowKeyValueList|[[Core.Validation.CoreChk051|Core_Chk051]]|Immutability of constants, input parameters and context variables}}
 
{{TableRowKeyValueList|[[Core.Validation.CoreChk052|Core_Chk052]]|Identifier shadowing }}
 
{{TableRowKeyValueList|[[Core.Validation.CoreChk052|Core_Chk052]]|Identifier shadowing }}
 +
{{TableRowKeyValueList|[[Extensions.StateVariable.StatVarChk001|StatVar_Chk001]]|State variables shall not read }}
 
|}
 
|}
  
 
== See also ==
 
== See also ==
[[Core.OtxValidation|Validation (OTX-Checker)]] <br/>
+
[[Core.Validation|Validation (OTX-Checker)]] <br/>
​​[[General.OtxNamingConventions|Naming Conventions]] <br/>
+
​​[[General.NamingConventions|Naming Conventions]] <br/>
[[Core.OtxImports|Imports]] <br/>
+
[[Core.Imports|Imports]] <br/>
[[Core.OtxVisibilities|Visibilities]] <br/>
+
[[Core.Visibilities|Visibilities]] <br/>
[[Core.OtxValidities|Validities]] <br/>
+
[[Core.Validities|Validities]] <br/>
[[Core.OtxSignatures|Signatures]] <br/>
+
[[Core.Signatures|Signatures]] <br/>
[[Core.OtxParameters|Parameter Declarations]] <br/>
+
[[Core.Parameters|Parameter Declarations]] <br/>
[[Core.OtxProcedures|Procedures]] <br/>
+
[[Core.Procedures|Procedures]] <br/>
[[Core.OtxComments|Comments]]
+
[[Core.Comments|Comments]]

Latest revision as of 08:34, 30 August 2018

Classification

Name Global Declarations
Short Description Global variables and constants
Class OTX Core
Pre-Conditions -
Specified by ISO 13209-2

Introduction

The following elments can be declared in the global declaration block:

  • Global Constants
  • Context Variables
  • State Variables
  • Document Variables

These elements have a global scope. That is, they can be used anywhere within the document in which they are declared, as well as in other documents, see Imports. One global declaration of a document can not have the same with another global declaration of the same document.

Semantics

Global Constant

The value of a global constant is set at design-time and can not be changed at runtime. The global constants must have one of the following Visibilities:

  • Private (default)
  • Package
  • Public

A constant has a Type and it must have a initial value corresponding to the type. As a result, they can not has Type which does not has an explicit value.

Context Variable

Context variables are environment variables which behave like global constants. However, they have a special meaning. They represent environment-related data, such as vehicle type, name of workshop, user login name, etc., see the Context Concept. Context variables are the counter part of state variables. They are mechanism to transport environment information to the sequence. The context variables must have one of the following Visibilities:

  • Private (default)
  • Package
  • Public

A context variable has a Type and it may have an initial value corresponding to the type.

State Variable

State variables are environment variables which behave like global variables. However, state variables can only be set and cannot read inside OTX, the test logic shall not be based on the value of a State variable. State variables are the counter part of context variables. They are mechanism to transport status information from inside a sequence to the environment. The state variables must have one of the following Visibilities:

  • Private (default)
  • Package
  • Public

A state variable has a Type and it may have a initial value corresponding to the type.

Global Variable (Document Variable)

The value of a global variable can be changed at runtime. Global variables can only be used in the same document. Therefore, they only have one following Visibility:

  • Private (fixed)

A variable has a Type and it may have a initial value corresponding to the type.

Checker rules

Core_Chk009 Mandatory constant initialisation
Core_Chk051 Immutability of constants, input parameters and context variables
Core_Chk052 Identifier shadowing
StatVar_Chk001 State variables shall not read

See also

Validation (OTX-Checker)
​​Naming Conventions
Imports
Visibilities
Validities
Signatures
Parameter Declarations
Procedures
Comments