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

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
Metis Smart Modeling - Models - Metis Documentation

Metis Smart Modeling - Models

From Metis Documentation

Jump to: navigation, search
(What is a model?)
(How does a model work?)
Line 10: Line 10:
== How does a model work? ==
== How does a model work? ==
-
Before explaining how to create and use models, it is necessary to explain how the Metis Smart Quote works in order to provide the user with a fully featured offer. Establishing such an offer can be summarized in the following pattern.
+
Before explaining how to create and use models, it is necessary to explain how Metis Smart Quote works in order to provide the user with a fully featured offer. Establishing such an offer can be summarized through the following scheme.
[[Image:Model_Metis_SQ_Exec.png|thumb|upright=0.5|alt=Metis Smart Quote Execution Description|Metis Smart Quote Execution Description]]
[[Image:Model_Metis_SQ_Exec.png|thumb|upright=0.5|alt=Metis Smart Quote Execution Description|Metis Smart Quote Execution Description]]
When an offer is initiated in Metis Smart Quote, '''modeled positions''' are “calculated” based in the information provided in modeling masks. These values represent the customer’s needs. Through the execution of the [[#Material|material]] model, the application creates a list of positions which basically represents the customer’s desired items and all of these products are listed in a structured way.
When an offer is initiated in Metis Smart Quote, '''modeled positions''' are “calculated” based in the information provided in modeling masks. These values represent the customer’s needs. Through the execution of the [[#Material|material]] model, the application creates a list of positions which basically represents the customer’s desired items and all of these products are listed in a structured way.
Line 20: Line 20:
Based on the previous example, a secondary screen can be added for one or more calculated computers. Or, additional, none modeled network features can be added.
Based on the previous example, a secondary screen can be added for one or more calculated computers. Or, additional, none modeled network features can be added.
-
After the two previous steps, Metis Smart Quote will not only list all items required for the offer, but also calculate the '''price'''. This calculation will not only be based on all positions listed in the offer, but also on the pricing settings defined on the positions. For example, a specific computer component, like software licenses may be subject to discounts based on the quantity.
+
After the two previous steps, Metis Smart Quote will not only list all items required for the offer, but also calculate '''prices'''. This calculation will not only be based on all positions listed in the offer, but also on the pricing settings defined on the positions. For example, a specific computer component, like software licenses may be subject to discounts based on the quantity.
Additionally to defining the list of positions required in an offer, the modeling functionality of Metis Smart Suite, '''services specific models''' can be implemented in the application. Once the pricing of materials and based on the availability of a [[#Service|service]] models, Metis Smart Quote is able to calculated related services through service models and list relevant service position in the offer.
Additionally to defining the list of positions required in an offer, the modeling functionality of Metis Smart Suite, '''services specific models''' can be implemented in the application. Once the pricing of materials and based on the availability of a [[#Service|service]] models, Metis Smart Quote is able to calculated related services through service models and list relevant service position in the offer.
Line 36: Line 36:
-
 
+
Now that the ground work of the model concept is laid down, it is necessary to understand a bit how such a model works in the Metis environment. As described in figure [[:File:Model_Exec_1.png|Model execution overview]], outside of the masks, a model is built on specific objects. Each model includes at least one “group of rules”, which is a container for individual rules. Those rules are the logic part of the models. Each rule uses input values (variables, [[Description_of_the_Menu_Attributes|attributes]], positions) coming from the masks, default or calculated information to process a logic “formula”. A Group of rule can include as many rules as necessary, with the only constrain that the result of a given rule will only be available in the next group of rules in the process. As described in figure [[:File:Model_Exec_2.png|Group of rules execution overview]], a Group of rules feeds on input values which are instantiated before its execution. Once inside, all rules will use those values to process the formulas. When all rules are processed, the resulting variables and/or material positions are prepared for the next Group of rules.Before starting the execution of the next Group of rules, the engine instantiates the new input values and lets the various rules included in the group feed on them.  
-
Now that the ground work of the model concept is laid down, it is necessary to understand a bit how such a model works in the Metis environment. As described in figure [[:File:Model_Exec_1.png|Model execution overview]], outside of the masks, a model is built on specific objects. Each model includes at least one “group of rules”, which is a container for individual rules. Those rules are the logic part of the models. Each rule uses input values (variables, [[Description_of_the_Menu_Attributes|attributes]], positions) coming from the masks, default or calculated information to process a logic “formula”. A Group of rule can include as many rules as necessary, with the only constrain that the result of a given rule will only be available in the next group of rules in the process. As described in figure [[:File:Model_Exec_2.png|Group of rules execution overview]], a Group of rules feeds in input values which are instantiated before its execution. Once inside, all rules will use those values to process the formulas. When all rules are processed, the resulting variables and/or material positions are prepared for the next Group of rules.Before starting the execution of the next Group of rules, the engine instantiates the new input values and lets the different rules included in the group feed on them.  
+
[[Image:IMG_BLANK.png|500x226px|link=]][[Image:Model_Exec_1.png|500x226px|link=]]  [[Image:Model_Exec_2.png|500x226px|link=]]
[[Image:IMG_BLANK.png|500x226px|link=]][[Image:Model_Exec_1.png|500x226px|link=]]  [[Image:Model_Exec_2.png|500x226px|link=]]
For example, when configuring a computer, the selection of a specific CPU will influence the list of compatible motherboards. Only when the appropriate one is determined, will the number of specific ports (like USB) be available and used for further configuration.
For example, when configuring a computer, the selection of a specific CPU will influence the list of compatible motherboards. Only when the appropriate one is determined, will the number of specific ports (like USB) be available and used for further configuration.
-
 
-
The current section describes how a model works and how one can create and maintain it. Based on that information, the following sections describe model building blocks like rules, groups of rules, variables and masks. For consistency purposes, all aspects of the creation of models are based on a full featured example.
 

Revision as of 14:15, 22 September 2011

Personal tools