Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /home/clients/fc00b35069112567fd28baa9a60aff76/web/mediawikidev/includes/MagicWord.php on line 722
Metis Smart Modeling - Debug - Metis Documentation

Metis Smart Modeling - Debug

From Metis Documentation

Jump to: navigation, search
 
Line 13: Line 13:
Example of errors or problems which can be detected using the debugger :
Example of errors or problems which can be detected using the debugger :
-
* Incorrect results :
+
* '''Incorrect results''' : Use the "Output Values & Watchdogs" list in order to determine at the end of the execution process the values which should be "calculated" through the used [[Metis_Smart_Modeling_-_Models|models]]. To solve this type of issues, validate all [[Metis_Smart_Modeling_-_Rules|rules]] which will generate output and add-ons.
-
Use the "Output Values & Watchdogs" list in order to determine at the end of the execution process the values which should be "calculated" through the used [[Metis_Smart_Modeling_-_Models|models]]. To solve this type of issues, validate all [[Metis_Smart_Modeling_-_Rules|rules]] which will generate output and add-ons.
+
* '''Incorrect intermediate values''' : During the execution of a [[Metis_Smart_Modeling_-_Models|model]], the values for [[Metis_Smart_Modeling_-_Variables|variables]] and positions may change based on the [[Metis_Smart_Modeling_-_Rules|rules]]. This could mean that throughout the execution, such object may receive a value that is not planned or wished. Verify thoroughly all [[Metis_Smart_Modeling_-_Rules|rules]] which use identical object that see if incoherence may appears during the execution. For example, create temporary [[Metis_Smart_Modeling_-_Variables|variable]] which will only be used during an execution.
-
* Incorrect intermediate values :
+
* '''Execution order issues''' : Within a [[Metis_Smart_Modeling_-_Models|model]] the order of the various groups of [[Metis_Smart_Modeling_-_Rules|rules]] which are executed is key. Errors may occur if groups are executed in the wrong order. Verify all the processes to be executed within a [[Metis_Smart_Modeling_-_Models|model]] to ensure that the order is relevant.
-
During the execution of a [[Metis_Smart_Modeling_-_Models|model]], the values for [[Metis_Smart_Modeling_-_Variables|variables]] and positions may change based on the [[Metis_Smart_Modeling_-_Rules|rules]]. This could mean that throughout the execution, such object may receive a value that is not planned or wished. Verify thoroughly all [[Metis_Smart_Modeling_-_Rules|rules]] which use identical object that see if incoherence may appears during the execution. For example, create temporary [[Metis_Smart_Modeling_-_Variables|variable]] which will only be used during an execution.
+
* '''Rights on defined objects''' : The results of the debugger is dependent on the rights and profiles applicable to the user logged in Metis Smart Quotes. This means that the availability of certain [[Metis_Smart_Modeling_-_Attributes|attributes]], price categories, variants or hierarchies will have a great influence of the calculated results. The cause of such issue may just be that the end-user doesn't have access to part of the objects used in the [[Metis_Smart_Modeling_-_Models|model]].
-
* Execution order issues :
+
-
Within a [[Metis_Smart_Modeling_-_Models|model]] the order of the various groups of [[Metis_Smart_Modeling_-_Rules|rules]] which are executed is key. Errors may occur if groups are executed in the wrong order. Verify all the processes to be executed within a [[Metis_Smart_Modeling_-_Models|model]] to ensure that the order is relevant.
+
-
* Rights on defined objects :
+
-
The results of the debugger is dependent on the rights and profiles applicable to the user logged in Metis Smart Quotes. This means that the availability of certain [[Metis_Smart_Modeling_-_Attributes|attributes]], price categories, variants or hierarchies will have a great influence of the calculated results. The cause of such issue may just be that the end-user doesn't have access to part of the objects used in the [[Metis_Smart_Modeling_-_Models|model]].
+
Line 99: Line 95:
|-
|-
|}
|}
 +
 +
== Using Metis Smart Quote ==
== Using Metis Smart Quote ==
 +
The main concept within the debug tool included in Metis Smart Modeling is to be able to execute a [[Metis_Smart_Modeling_-_Models|model]] within Metis Smart Quotes, observe an issue and to be able to execute the same [[Metis_Smart_Modeling_-_Models|model]] with the same input value within Metis Smart Modeling in order to catch possible errors.
The main concept within the debug tool included in Metis Smart Modeling is to be able to execute a [[Metis_Smart_Modeling_-_Models|model]] within Metis Smart Quotes, observe an issue and to be able to execute the same [[Metis_Smart_Modeling_-_Models|model]] with the same input value within Metis Smart Modeling in order to catch possible errors.
-
[[File:MetisSmartModelingSCDebug3.PNG|center|706x860px]]
+
[[File:MetisSmartModelingSCDebug3.PNG|center|600x400px]]
Line 123: Line 122:
The [[Metis_Smart_Modeling_-_Rules|rule]] window opens showing details about the [[Metis_Smart_Modeling_-_Rules|rule]]. Close this window.
The [[Metis_Smart_Modeling_-_Rules|rule]] window opens showing details about the [[Metis_Smart_Modeling_-_Rules|rule]]. Close this window.
In the second table below, the first tab “Output Values and Watchdogs,” lists all output [[Metis_Smart_Modeling_-_Variables|variables]] and positions used by the [[Metis_Smart_Modeling_-_Models|models]].  
In the second table below, the first tab “Output Values and Watchdogs,” lists all output [[Metis_Smart_Modeling_-_Variables|variables]] and positions used by the [[Metis_Smart_Modeling_-_Models|models]].  
-
The user can also set a “watchdog” to a position or a [[Metis_Smart_Modeling_-_Variables|variable]]. A “watchdog” can be considered as a breakpoint. When executing the [[Metis_Smart_Modeling_-_Models|model]] using the “Start” and “Next Break point” buttons, the process continues until the “watchdog” position or [[Metis_Smart_Modeling_-_Variables|variable]] is encountered.
+
The user can also set a “watchdog” to a position or a [[Metis_Smart_Modeling_-_Variables|variable]]. A “watchdog” can be considered as a break-point. When executing the [[Metis_Smart_Modeling_-_Models|model]] using the “Start” and “Next Break point” buttons, the process continues until the “watchdog” position or [[Metis_Smart_Modeling_-_Variables|variable]] is encountered.
The second tab lists the input values which were defined in the [[Metis_Smart_Modeling_-_Masks|mask]] in Smart Quotes.
The second tab lists the input values which were defined in the [[Metis_Smart_Modeling_-_Masks|mask]] in Smart Quotes.
Click on the “Start” button to execute the [[Metis_Smart_Modeling_-_Models|model]]. Click on the next button to execute the [[Metis_Smart_Modeling_-_Rules|rules]] of the [[Metis_Smart_Modeling_-_Models|model]], step by step.  
Click on the “Start” button to execute the [[Metis_Smart_Modeling_-_Models|model]]. Click on the next button to execute the [[Metis_Smart_Modeling_-_Rules|rules]] of the [[Metis_Smart_Modeling_-_Models|model]], step by step.  
Line 135: Line 134:
| Using Metis Smart Quotes to test a full [[Metis_Smart_Modeling_-_Models|model]], importing the environment in Metis Smart Modeling and running the step-by-step execution on the it.
| Using Metis Smart Quotes to test a full [[Metis_Smart_Modeling_-_Models|model]], importing the environment in Metis Smart Modeling and running the step-by-step execution on the it.
}}
}}
 +
 +
== Running a model step-by-step ==
== Running a model step-by-step ==
 +
The Metis Smart Modeling Debugger is based on step-by-step executor of the imported environment. Once opened, the complete offer exported from Metis Smart Quotes can be executed one step after the other. This allows to verify thoroughly and in details where an error may have occurred. Based on the execution list and on the "Output Values and Watchdogs" list, the evolution of the "calculation" and results can be examined at every step.
The Metis Smart Modeling Debugger is based on step-by-step executor of the imported environment. Once opened, the complete offer exported from Metis Smart Quotes can be executed one step after the other. This allows to verify thoroughly and in details where an error may have occurred. Based on the execution list and on the "Output Values and Watchdogs" list, the evolution of the "calculation" and results can be examined at every step.
Line 146: Line 148:
| For a demonstration on how to use the Step-by-step mode of the debugger, please refer to the video in the previous section of this manual.
| For a demonstration on how to use the Step-by-step mode of the debugger, please refer to the video in the previous section of this manual.
}}
}}
 +
=== Using breakpoints ===
=== Using breakpoints ===
-
The debugger tool included in Metis Smart Modeling allows to set breakpoints throughout the execution of an imported Metis Smart Quotes environment. Those breakpoints can be used to stop a step-by-step execution at a specific place or time of the offer. For example at the beginning of one of the [[Metis_Smart_Modeling_-_Systems|systems]] included in the offer or when a specific [[Metis_Smart_Modeling_-_Variables|variable]] changes value. This can be very useful to pinpoint a problem in a [[Metis_Smart_Modeling_-_Models|model]] based on certain values.
+
 
 +
The debugger tool included in Metis Smart Modeling allows to set breakpoints throughout the execution of an imported Metis Smart Quotes environment. Those breakpoints can be used to stop a step-by-step execution at a specific place or time of the executed model(s). For example at the beginning of one of the [[Metis_Smart_Modeling_-_Systems|systems]] included in the offer or when a specific [[Metis_Smart_Modeling_-_Variables|variable]] changes value. This can be very useful to pinpoint a problem in a [[Metis_Smart_Modeling_-_Models|model]] based on certain values.
Line 156: Line 160:
1. '''In the execution steps'''
1. '''In the execution steps'''
-
In the Metis Smart Modeling debugger window, the top table shows the complete content of the imported environment (Offer, [[Metis_Smart_Modeling_-_Systems|system]] and applications, [[Metis_Smart_Modeling_-_Models|models]] used, [[Metis_Smart_Modeling_-_Group_of_Rules|group of rules]] and [[Metis_Smart_Modeling_-_Rules|rules]] which are executed). Each line listed in the table represents one of the steps of the execution process. Break-point can be set of any of those lines simply by clicking once the leftmost "grayed" column of the table. this add a small red dot to the line showing the user that the step-by-step will stop before executing this line in the process.
+
In the Metis Smart Modeling debugger window, the top table shows the complete content of the imported environment (Offer, [[Metis_Smart_Modeling_-_Systems|system]] and applications, [[Metis_Smart_Modeling_-_Models|models]] used, [[Metis_Smart_Modeling_-_Group_of_Rules|group of rules]] and [[Metis_Smart_Modeling_-_Rules|rules]] which are executed). Each line listed in the table represents one of the steps of the execution process. Break-point can be set on any of those lines simply by clicking once the leftmost "grayed" column of the table. this adds a small red dot to the line showing the user that the step-by-step will stop before executing this line in the process.
In order to jump from one break-point the other, use the "Next Break-point" button.
In order to jump from one break-point the other, use the "Next Break-point" button.
-
To remove a break-point from the execution list, click of the small red dot in from of the line. The execution will then execute until the next one or the end of the list.
+
To remove a break-point from the execution list, click of the small red dot in front of the line. The execution will then run until the next one or to the end of the list.
2. '''On a  or position'''
2. '''On a  or position'''
Line 168: Line 172:
{{Note
{{Note
-
| Breakpoints on [[Metis_Smart_Modeling_-_Variables|variable]] or positions are very helpful to test and verify that it is not modified when not required.
+
| Breakpoints on [[Metis_Smart_Modeling_-_Variables|variable]] or positions are very helpful to test and verify that one of those items is not modified when not required.
}}
}}
 +
 +
=== Using watchdogs ===
=== Using watchdogs ===
 +
Within the list of of "Output Values & Watchdogs" are only shown the [[Metis_Smart_Modeling_-_Variables|variables]], positions and groups of items which are either used as an output or an add-on to any [[Metis_Smart_Modeling_-_Rules|rule]] included in the environment. In order to work on [[Metis_Smart_Modeling_-_Variables|variables]] or positions which could be used as inputs or filters, Metis Smart Modeling allows the user define so called watchdogs. They are [[Metis_Smart_Modeling_-_Variables|variables]], positions or [[Metis_Smart_Modeling_-_Attributes|attributes]] which are not listed in the previously named table but which could be used in [[Metis_Smart_Modeling_-_Rules|rules]] as either input values or filters.
Within the list of of "Output Values & Watchdogs" are only shown the [[Metis_Smart_Modeling_-_Variables|variables]], positions and groups of items which are either used as an output or an add-on to any [[Metis_Smart_Modeling_-_Rules|rule]] included in the environment. In order to work on [[Metis_Smart_Modeling_-_Variables|variables]] or positions which could be used as inputs or filters, Metis Smart Modeling allows the user define so called watchdogs. They are [[Metis_Smart_Modeling_-_Variables|variables]], positions or [[Metis_Smart_Modeling_-_Attributes|attributes]] which are not listed in the previously named table but which could be used in [[Metis_Smart_Modeling_-_Rules|rules]] as either input values or filters.
-
In order to define a new watchdog within the debugger, click on the ADD button [[File:MetisSmartModelingAddButton.PNG|link=]] located on the right of the "Output Values & Watchdogs" table. A window opens up which allows to select the position, the [[Metis_Smart_Modeling_-_Variables|variable]] (or [[Metis_Smart_Modeling_-_Variables|group of items]]) or [[Metis_Smart_Modeling_-_Attributes|attribute]] to be used as a watchdog. Select the appropriate one and validate in order for it to be listed in the table. Once done, move to the XX column of the inserted element and set the value for which it should be tested. When the execution process starts, and at each step, the watchdog will be tested against the value provided. If equal, then the execution pauses.
+
In order to define a new watchdog within the debugger, click on the "Add" button [[File:MetisSmartModelingAddButton.PNG|link=]] located on the right of the "Output Values & Watchdogs" table. A window opens up which allows to select the position, the [[Metis_Smart_Modeling_-_Variables|variable]] (or [[Metis_Smart_Modeling_-_Variables|group of items]]) or [[Metis_Smart_Modeling_-_Attributes|attribute]] to be used as a watchdog. Select the appropriate one and validate in order for it to be listed in the table. Once done, move to the XX column of the inserted element and set the value for which it should be tested. When the execution process starts, and at each step, the watchdog will be tested against the value provided. If equal, then the execution pauses.
-
In order to remove a watchdog from the list, use the MINUS button on the right of the table.
+
In order to remove a watchdog from the list, use the "Remove" button [[File:MetisSmartModelingMINUSButton.PNG|link=]] on the right of the table.

Latest revision as of 07:11, 4 October 2013

Personal tools