Difference between revisions of "Core.Validation"

From emotive
Jump to navigation Jump to search
m (Hb moved page OtxValidation to Core.OtxValidation: #3153)
Line 27: Line 27:
 
== Checker rules ==
 
== Checker rules ==
 
{| {{TableHeader}}
 
{| {{TableHeader}}
{{TableRowKeyValueList|[[CoreChk001|Core_Chk001]]|Name of OTX document does not match the file name}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk001|Core_Chk001]]|Name of OTX document does not match the file name}}
{{TableRowKeyValueList|[[CoreChk002|Core_Chk002]]|The same document name within the same package}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk002|Core_Chk002]]|The same document name within the same package}}
{{TableRowKeyValueList|[[CoreChk003|Core_Chk003]]|Dead import link}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk003|Core_Chk003]]|Dead import link}}
{{TableRowKeyValueList|[[CoreChk004|Core_Chk004]]|Imported document is not used}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk004|Core_Chk004]]|Imported document is not used}}
{{TableRowKeyValueList|[[CoreChk005|Core_Chk005]]|Not defined import prefix}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk005|Core_Chk005]]|Not defined import prefix}}
{{TableRowKeyValueList|[[CoreChk006|Core_Chk006]]|Non-identical version of OTX}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk006|Core_Chk006]]|Non-identical version of OTX}}
{{TableRowKeyValueList|[[CoreChk007|Core_Chk007]]|Missing specification}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk007|Core_Chk007]]|Missing specification}}
{{TableRowKeyValueList|[[CoreChk008|Core_Chk008]]|The main procedure is not public}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk008|Core_Chk008]]|The main procedure is not public}}
{{TableRowKeyValueList|[[CoreChk009|Core_Chk009]]|No initialization available}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk009|Core_Chk009]]|No initialization available}}
{{TableRowKeyValueList|[[CoreChk010|Core_Chk010]]|Non-unique name within the procedure}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk010|Core_Chk010]]|Non-unique name within the procedure}}
{{TableRowKeyValueList|[[CoreChk011|Core_Chk011]]|Disabled item}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk011|Core_Chk011]]|Disabled item}}
{{TableRowKeyValueList|[[CoreChk012|Core_Chk012]]|Unavailable items}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk012|Core_Chk012]]|Unavailable items}}
{{TableRowKeyValueList|[[CoreChk013|Core_Chk013]]|False validity-referencing}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk013|Core_Chk013]]|False validity-referencing}}
{{TableRowKeyValueList|[[CoreChk014|Core_Chk014]]|Wrong type of Locator variable in ForEach}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk014|Core_Chk014]]|Wrong type of Locator variable in ForEach}}
{{TableRowKeyValueList|[[CoreChk015|Core_Chk015]]|No parallel in parallel}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk015|Core_Chk015]]|No parallel in parallel}}
{{TableRowKeyValueList|[[CoreChk016|Core_Chk016]]|Exception already exists}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk016|Core_Chk016]]|Exception already exists}}
{{TableRowKeyValueList|[[CoreChk017|Core_Chk017]]|Missing exception declaration}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk017|Core_Chk017]]|Missing exception declaration}}
{{TableRowKeyValueList|[[CoreChk018|Core_Chk018]]|Missing catch section}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk018|Core_Chk018]]|Missing catch section}}
{{TableRowKeyValueList|[[CoreChk019|Core_Chk019]]|Wrong type of exception}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk019|Core_Chk019]]|Wrong type of exception}}
{{TableRowKeyValueList|[[CoreChk020|Core_Chk020]]|Wrong target by continue}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk020|Core_Chk020]]|Wrong target by continue}}
{{TableRowKeyValueList|[[CoreChk021|Core_Chk021]]|Wrong target of break}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk021|Core_Chk021]]|Wrong target of break}}
{{TableRowKeyValueList|[[CoreChk022|Core_Chk022]]|Wrong area for TerminateLanes}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk022|Core_Chk022]]|Wrong area for TerminateLanes}}
{{TableRowKeyValueList|[[CoreChk023|Core_Chk023]]|The variable and value data types do not match in the allocation}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk023|Core_Chk023]]|The variable and value data types do not match in the allocation}}
{{TableRowKeyValueList|[[CoreChk024|Core_Chk024]]|Invalid procedure call}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk024|Core_Chk024]]|Invalid procedure call}}
{{TableRowKeyValueList|[[CoreChk025|Core_Chk025]]|Missing procedure implementation}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk025|Core_Chk025]]|Missing procedure implementation}}
{{TableRowKeyValueList|[[CoreChk026|Core_Chk026]]|Unreachable code}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk026|Core_Chk026]]|Unreachable code}}
{{TableRowKeyValueList|[[CoreChk027|Core_Chk027]]|Parameters are not the signature}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk027|Core_Chk027]]|Parameters are not the signature}}
{{TableRowKeyValueList|[[CoreChk028|Core_Chk028]]|Missing implementation}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk028|Core_Chk028]]|Missing implementation}}
{{TableRowKeyValueList|[[CoreChk029|Core_Chk029]]|Arguments are not the parameters}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk029|Core_Chk029]]|Arguments are not the parameters}}
{{TableRowKeyValueList|[[CoreChk030|Core_Chk030]]|Missing initial value}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk030|Core_Chk030]]|Missing initial value}}
{{TableRowKeyValueList|[[CoreChk031|Core_Chk031]]|Incorrect data type (ListConcatenate)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk031|Core_Chk031]]|Incorrect data type (ListConcatenate)}}
{{TableRowKeyValueList|[[CoreChk032|Core_Chk032]]|Incorrect data type (ListAppendItems)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk032|Core_Chk032]]|Incorrect data type (ListAppendItems)}}
{{TableRowKeyValueList|[[CoreChk033|Core_Chk033]]|Incorrect data type (ListInsertItems)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk033|Core_Chk033]]|Incorrect data type (ListInsertItems)}}
{{TableRowKeyValueList|[[CoreChk034|Core_Chk034]]|Declaration error (initial value)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk034|Core_Chk034]]|Declaration error (initial value)}}
{{TableRowKeyValueList|[[CoreChk035|Core_Chk035]]|Incorrect data type (list item)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk035|Core_Chk035]]|Incorrect data type (list item)}}
{{TableRowKeyValueList|[[CoreChk036|Core_Chk036]]|Incorrect data type (ListLiteral and ListCreate)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk036|Core_Chk036]]|Incorrect data type (ListLiteral and ListCreate)}}
{{TableRowKeyValueList|[[CoreChk037|Core_Chk037]]|Incorrect data type (literal)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk037|Core_Chk037]]|Incorrect data type (literal)}}
{{TableRowKeyValueList|[[CoreChk038|Core_Chk038]]|Incorrect data type (MapPutItem)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk038|Core_Chk038]]|Incorrect data type (MapPutItem)}}
{{TableRowKeyValueList|[[CoreChk039|Core_Chk039]]|Incorrect data type (MapRemoveItems)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk039|Core_Chk039]]|Incorrect data type (MapRemoveItems)}}
{{TableRowKeyValueList|[[CoreChk040|Core_Chk040]]|Incorrect data type (MapContainsKey)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk040|Core_Chk040]]|Incorrect data type (MapContainsKey)}}
{{TableRowKeyValueList|[[CoreChk041|Core_Chk041]]|Incorrect data type (MapContainsValue)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk041|Core_Chk041]]|Incorrect data type (MapContainsValue)}}
{{TableRowKeyValueList|[[CoreChk042|Core_Chk042]]|Incorrect data type (MapUnion)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk042|Core_Chk042]]|Incorrect data type (MapUnion)}}
{{TableRowKeyValueList|[[CoreChk043|Core_Chk043]]|Non-unique key (MapLiteral)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk043|Core_Chk043]]|Non-unique key (MapLiteral)}}
{{TableRowKeyValueList|[[CoreChk044|Core_Chk044]]|Declaration error (initial value in the key)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk044|Core_Chk044]]|Declaration error (initial value in the key)}}
{{TableRowKeyValueList|[[CoreChk045|Core_Chk045]]|Declaration error (initial value in the value)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk045|Core_Chk045]]|Declaration error (initial value in the value)}}
{{TableRowKeyValueList|[[CoreChk046|Core_Chk046]]|Incorrect data type (MapLiteral and MapCreate)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk046|Core_Chk046]]|Incorrect data type (MapLiteral and MapCreate)}}
{{TableRowKeyValueList|[[CoreChk047|Core_Chk047]]|Incorrect data type (map-initial value)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk047|Core_Chk047]]|Incorrect data type (map-initial value)}}
{{TableRowKeyValueList|[[CoreChk048|Core_Chk048]]|Incorrect data type (MapLiteral)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk048|Core_Chk048]]|Incorrect data type (MapLiteral)}}
{{TableRowKeyValueList|[[CoreChk049|Core_Chk049]]|Incorrect data type (compare)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk049|Core_Chk049]]|Incorrect data type (compare)}}
{{TableRowKeyValueList|[[CoreChk050|Core_Chk050]]|Incorrect data type (reference to variable or constant)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk050|Core_Chk050]]|Incorrect data type (reference to variable or constant)}}
{{TableRowKeyValueList|[[CoreChk051|Core_Chk051]]|Allocation conflict (constants, input parameters, or context variables)}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk051|Core_Chk051]]|Allocation conflict (constants, input parameters, or context variables)}}
{{TableRowKeyValueList|[[CoreChk052|Core_Chk052]]|Name conflict}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk052|Core_Chk052]]|Name conflict}}
{{TableRowKeyValueList|[[CoreChk053|Core_Chk053]]|Invalid reference}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk053|Core_Chk053]]|Invalid reference}}
{{TableRowKeyValueList|[[CoreChk054|Core_Chk054]]|Unused declarations}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk054|Core_Chk054]]|Unused declarations}}
{{TableRowKeyValueList|[[CoreChk055|Core_Chk055]]|Unreachable nodes}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk055|Core_Chk055]]|Unreachable nodes}}
{{TableRowKeyValueList|[[CoreChk056|Core_Chk056]]|No modification of collection inside foreach-loops}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk056|Core_Chk056]]|No modification of collection inside foreach-loops}}
{{TableRowKeyValueList|[[CoreChk057|Core_Chk057]]|No use of init in catch header exception type definition}}
+
{{TableRowKeyValueList|[[Core.OtxValidation.CoreChk057|Core_Chk057]]|No use of init in catch header exception type definition}}
 
|}
 
|}
  

Revision as of 08:16, 4 February 2016

Classification

Name Validation
Short Description OTX Validation data model
Class OTX Core
Pre-Conditions -
Specified by ISO 13209-2

Introduction

To ensure data security and data quality a two-step validation process is defined in OTX

  1. Validation against the XML schema
    • Review against defined in the XML Schema rules (syntax, cardinality ...)
    • The scope of the validation is always limited a single document
    • Dependencies between documents are not resolved
  2. Validation against the standardized checker rules
    • Is only performed if step 1 was successfully completed
    • The second stage is for the rules that can not be tested with the schema validation
    • Here are typically semantic rules defined (eg reviewing document cross-references)
ErrorListControl.png
Validation to ensure data safety and data quality (OTX-Checker)

If both steps successfully, a document is considered to be standards compliant!

The validation is:

  • During the development process
  • Before executing a OTX document

performed.

Checker rules

Core_Chk001 Name of OTX document does not match the file name
Core_Chk002 The same document name within the same package
Core_Chk003 Dead import link
Core_Chk004 Imported document is not used
Core_Chk005 Not defined import prefix
Core_Chk006 Non-identical version of OTX
Core_Chk007 Missing specification
Core_Chk008 The main procedure is not public
Core_Chk009 No initialization available
Core_Chk010 Non-unique name within the procedure
Core_Chk011 Disabled item
Core_Chk012 Unavailable items
Core_Chk013 False validity-referencing
Core_Chk014 Wrong type of Locator variable in ForEach
Core_Chk015 No parallel in parallel
Core_Chk016 Exception already exists
Core_Chk017 Missing exception declaration
Core_Chk018 Missing catch section
Core_Chk019 Wrong type of exception
Core_Chk020 Wrong target by continue
Core_Chk021 Wrong target of break
Core_Chk022 Wrong area for TerminateLanes
Core_Chk023 The variable and value data types do not match in the allocation
Core_Chk024 Invalid procedure call
Core_Chk025 Missing procedure implementation
Core_Chk026 Unreachable code
Core_Chk027 Parameters are not the signature
Core_Chk028 Missing implementation
Core_Chk029 Arguments are not the parameters
Core_Chk030 Missing initial value
Core_Chk031 Incorrect data type (ListConcatenate)
Core_Chk032 Incorrect data type (ListAppendItems)
Core_Chk033 Incorrect data type (ListInsertItems)
Core_Chk034 Declaration error (initial value)
Core_Chk035 Incorrect data type (list item)
Core_Chk036 Incorrect data type (ListLiteral and ListCreate)
Core_Chk037 Incorrect data type (literal)
Core_Chk038 Incorrect data type (MapPutItem)
Core_Chk039 Incorrect data type (MapRemoveItems)
Core_Chk040 Incorrect data type (MapContainsKey)
Core_Chk041 Incorrect data type (MapContainsValue)
Core_Chk042 Incorrect data type (MapUnion)
Core_Chk043 Non-unique key (MapLiteral)
Core_Chk044 Declaration error (initial value in the key)
Core_Chk045 Declaration error (initial value in the value)
Core_Chk046 Incorrect data type (MapLiteral and MapCreate)
Core_Chk047 Incorrect data type (map-initial value)
Core_Chk048 Incorrect data type (MapLiteral)
Core_Chk049 Incorrect data type (compare)
Core_Chk050 Incorrect data type (reference to variable or constant)
Core_Chk051 Allocation conflict (constants, input parameters, or context variables)
Core_Chk052 Name conflict
Core_Chk053 Invalid reference
Core_Chk054 Unused declarations
Core_Chk055 Unreachable nodes
Core_Chk056 No modification of collection inside foreach-loops
Core_Chk057 No use of init in catch header exception type definition

See also

​​Naming Conventions
Imports
Declarations
Validities
Signatures
Parameter Declarations
Procedures
Comments