Comergent
PREV NEXT INDEX

Using the Visual Modeler

A configurable product is a product that offers a number of different options from which a customer can select before buying the product. The choice of options or available combinations of options may be constrained by technical or marketing concerns so that customers can only choose certain combinations of options in configuring their purchase.

In the Comergent eBusiness System, a product is made configurable by marking it as configurable in the product catalog and by associating with it a model that provides the information about options and the possible combinations of options.

Configurable products enable a customer to start with a basic model, then move through a series of selections, option items, to configure the product to their specific needs. You create configurable products using C3 Product Manager, but before you can do that, a product modeler must use the Visual Modeler to create a corresponding model.

Terminology
TABLE 6. C3 Configurator Terminology 
Term
Definition
Ancestor
The entities which precede an entity in a hierarchical chain, back to the root model group. The ancestral chain.
C3 Configurator
The Comergent eBusiness System application that enables a company to specify the possible available configurations of their products and enables customers to select the configuration that best meets their needs.
Constraint Table
A means of specifying which selections of option items are compatible with each other. Constraint tables provide a simple way to manage the selections that end-users can make as they configure a product.
List
An object that allows the C3 Configurator to validate a selected item by virtue of it being part of a list.
Model
A configurable combination of product options. Rules can be added to models to restrict the choice of combinations.
Model Group
In the Model hierarchy, a model group is a collection of models, option class groups, option item groups, or even other model groups.
Option Class Group
An option class group is a collection of option classes or nested option class groups that represent entities that can be reused without change in any number of models and option classes. See Groups and Sub-Models for more information.
Option Item Group
An option item group is a collection of option items that can be reused in any number of option classes or option class groups in any number of models.
Option Class
An option class is a collection of option items, option class groups, option item groups, or other option classes that have a common purpose.
An option class is a configurable part of a model. For example, an engine is a configurable part of a car. The option items in the engine option class are 4-cylinder, 6-cylinder, and 8-cylinder.
Option Item
An option item is a member of an option class or an option item group and is an orderable part or service for a model. Typically, an option item is associated with properties.
Property
A property is a descriptive element used as the basic entity for rule creations. Properties are associated with models, option classes and option items.
A quantity or attribute of an item that indicates interdependencies (for example, a property could be "uses 5 MB of memory" or "provides 5 expansion slots").
Rule
A constraint that is attached to some part of a model hierarchy to enforce a technical requirement or business rule.
Sub-Model
A model that is used as part of another model.
Visual Modeler
The data modeling tool used to create and maintain models.

Model Group Hierarchy

A model, with its option classes, option items, option class groups, and option item groups, represents all of the possible valid configurations for a single saleable product. Every model created in the Visual Modeler belongs to a model group.

A model group is a way of grouping similar model groups, models, option class groups, and option item groups. At the top-level of the model group hierarchy is the root model group. Each model group belongs to a parent model group, except for the top-level, root model group which has no parent. Figure 9 shows an example of the model group hierarchy.

FIGURE 9. Model Group Hierarchy

Associating a Product with a Model, an Option Class, or Option Item

Using the Visual Modeler, you can select a product, created with C3 Product Manager, and associate it with a model, an option class, or option item. You do this to associate the entity with the price determined for the product using the price lists created with C3 Pricing. As the end-user configures the product, C3 Configurator uses either the price of the product associated with the model or the accumulated prices of the products associated with the option classes or option items.

You might have an option item that represents a saleable product. For example, you might have an option class that represents a selection of graphics cards. Each option item represents a different graphics card. When you modify each option item (in this case, each graphics card), you can associate each graphics card with a product. In this way, you can associate a price with each graphics card (through the price lists created with C3 Pricing).

Note that if you do associate a product with an option item, then end-users will see this option item only if the associated product is on one of the price lists assigned to their partner.

See Setting Prices for Products for information about pricing. For information on associating a product with a model, see To Associate a Product with a Model, Option Class, or Option Item.

How the Visual Modeler Works

Properties define the characteristics of models, option classes, and option items. Rules are defined using properties to constrain customer selections and determine whether or not a configuration is valid. The C3 Configurator uses the model to guide customers choices so that they can configure a Build-to-Order (BTO) product. When an end-user chooses an option item, a rule can be subsequently triggered by a property attached to that option item.

For example, a Mountain Bike model may consist of the following option classes: frame, forks, and wheels. Weight is a property defined for the model and attached to every option item in the model. Each item in each Mountain Bike option class is assigned a weight property value; that is, each frame has a weight, each fork has a weight, and each wheel has a weight. After the customer makes choices about a frame, fork, and a wheel, the sum of all the individual weights total the entire weight of the bike.

By defining a weight rule the modeler can specify that the entire weight of the Mountain Bike should not be over 15 kilograms. The modeler can also specify in the rule a message that will be displayed to the customer if the weight is exceeded.

Therefore, in C3 Configurator, when a customer chooses an option item such as a frame, fork, or wheel, the C3 Configurator uses the rule to determine the total weight value by adding the weights of all chosen option items associated with the weight property. If the total weight of all the option item(s) is over 15 kilograms, then the customer is presented with a message stating the recommended weight is exceeded and the customer should choose another option item in one or more of the option classes.

Creating a Tab-Based User Interface

In Release 6.3 and higher, you can arrange your end-user interface in the form of a series of tabs. First you enable a tab-based UI by selecting the Tab-based UI display template when you set the display properties for the model. Once you have enabled the tab-based UI, you create the top-level option classes or option class groups that make up your model. Next you access the Tabs tab within your selected model and create the tabs. As you create the tabs, you populate them with the one or more of the top-level option classes or option class groups that you have created.
Note:
By top-level is meant those option classes or option class groups at the top of the model group hierarchy, directly below the model.

An option class can be attached to zero or more tabs. See Working with a Tabbed User Interface for step-by-step instructions on creating a tabbed user interface.

Option Classes and Option Items

An option class is a configurable part of a model consisting of option items and nested option classes that have a common purpose.

An option item is a member of an option class. The option item can either be an orderable part or an intermediate selection in the process of determining an orderable part. Typically, properties are associated with option items.

For example, if a car is a configurable product, then an engine is a configurable part of the car. Thus, you could create a model called "car", and "engine" would be an option class in the model. The option items in the engine option class are 4-cylinder, 6-cylinder, and 8-cylinder.

Groups and Sub-Models

A option class group or an option item group enables you to re-use option classes and option items in more than one place in a model group without having to recreate the same items over and over again as you need them. You can create a single group (created at the model group level), add option classes (with their option items) to the group and then "attach" the group, as needed in the required locations. For example, several models might have the same support choices (the same warranty selections, the same hardware support choices). Rather than create these new for each model as two option classes, the same two option classes, you could create these option classes once as part of an option class group, then attach the group to each model that requires these option classes.

If the elements of a group (option classes, option items) need new properties attached to them, or if the elements need existing properties modified, then you need only modify the group in the place where you originally created it. The modifications will be reflected in the group throughout its "attached" locations. Figure 10 shows different examples of groups. As illustrated in that example, you can also nest groups within other groups.

FIGURE 10. Option Class Groups and Option Item Groups

A model can be used both as stand-alone and as part of another model. When used as part of another model, the model is referred to as a sub-model.

The following table shows which groups can be attached to which elements in the Comergent eBusiness System.
TABLE 7. Attaching Groups
Groups To Be Attached
Attach to Model?
Attach to Option Class Group?
Attach to Option Class?
Models
No
Yes
Yes
Option Class Groups
Yes
Yes
Yes
Option Item Groups
No
No
Yes

Properties

A property is a characteristic that in some way describes a model, option class, or option item.

When you define a property, you can define it either as a part of a model group or as part of a specific model. In the case of a property defined for a model group, the property is then available to be attached to any model, option class, or option item in the hierarchy beneath the model group for which it was created. In the case of a property defined for a model, the property is available exclusively to the model itself, as well as option classes and option items within the model hierarchy.
TABLE 8. Defining and Attaching Properties

Model Group
Model
Option Class
Option Item
Option Class Group
Option Item Group
Define
Yes
Yes
No
No
No
No
Attach
No
No
Yes
Yes
No
No

For example, in Figure 11, property X is defined in Model Group A and property Y is defined in Model A1. Property X can be attached to Model A1 and Model A2, as well as any models in Model Group B, such as Model B1. However, the property cannot be attached to Model C which is not a child of Model Group A. Property Y is defined in Model A1 and therefore cannot be attached to either Models B1, A2, or C.

FIGURE 11. Property Attachment in the Model Group Hierarchy
Note:
The catalog of properties that you build up using the Visual Modeler can become extensive very quickly, so before defining a new property, take care to check that there is not an existing property that will suit your needs.

When you define a property, the name you give it should be descriptive of the property being represented. The property name must be unique within the model group.

Using Properties

As a modeler, you determine the value of a property when the property is attached. When you create a property, you can also define a default value for that property. Then, when you assign that property to a model, option class, or option item, the property has the default value unless you choose to override it. For example, you can assign the value of 8 when assigning the weight property to one of the bike forks but assign the value of 10 when assigning the weight property to a different bike fork.
Note:
You must set up properties for each option class and option item that is included in a validity check and triggers an option item expansion.

In another example, a model for a configurable computer requires a different amount of RAM for different types of software. Thus, this model needs to have a property called "memory_required". When you attach this property to different software option items in the model, you determine the value of RAM memory required for the individual software. At the same time, RAM itself is an option class, and the amounts of RAM that the customer can order are the option items in that class. Therefore, there needs to be a corollary property called "memory_ordered". You may set a value for this property or it may be a calculated value triggered by a rule based on a quantity input by the customer.

Naming Properties

Take care to name properties so that you avoid confusing properties that should be kept distinct. For example, if you use Weight as a property name, then there may be situations in which you need to distinguish between the weight of items from two different option classes.

Attaching Properties to Option Items

The option item to which a property is attached may be any component of an orderable item that has the characteristic represented by the property. For example, as a modeler, you can attach the weight property to a frame since the frame has a specific, defined weight. The property value must be consistent with the property type entered when the property was defined. In other words, you cannot assign a value of "blue" to a property with the type Number. The property must be of type String in order to assign the value "blue". Depending on the property type, the value may represent either the quantity of the property represented (numeric), a specific instance of the property (character), or a list of many instances of the property.

Display Properties

As a modeler, you use display properties to control the model elements on the HTML page displayed to the customer by the Configurator Engine. See Working with Display Properties.

Lists

You use a list to enter and maintain lists of property values for a specific property. It is possible to define multiple choices by using a list. By comparison, number and string property types define a single value.

You use lists in the C3 Configurator when you have a property with multiple values. For example, a modeler can use a list property type for a property called days of the month. The values in this property list are 1, 2, 3, and so on, with the last value 31. For this particular property, the list is the appropriate property type.
Note:
The list name should be descriptive of the items contained in the list, and the property list value is a specific value in the list.

You can also use lists to define the selection of option items during product configuration. You do this by creating a list of items and then creating a rule stating that an item is either valid or invalid with the items on the list.

For example, we have three bike models: Mountain Bike, Racing Bike, and Dirt Bike.

  1. Create three lists, one for each bike (Table 9).
    TABLE 9. Lists for Different Bike Models
    Bike model
    List property
    List values
    Mountain Bike
    MtnBikeWheelsAllowed
    Mavic mountain wheels
    Shimano mountain wheels
    Racing Bike
    RacingBikeWheelsAllowed
    Mavic racing wheels
    Shimano racing wheels
    Dirt Bike
    DirtBikeWheelsAllowed
    Mavic dirt wheels
    Shimano dirt wheels
  2. Create a property of type list called "WheelsAllowed".
  3. Attach the WheelsAllowed property to each bike model.
    1. Attach the WheelsAllowed property to the Mountain Bike model with the value "MtnBikeWheelsAllowed".
    2. Repeat step a for the Racing Bike and Dirt Bike models using the values in Table 9.
  4. Create a property of type character called "WheelsOrdered".
  5. Create a rule with the following condition.
    TABLE 10. Entries to Define Wheels Rule
    Field
    Value
    Function
    Value
    Property
    WheelsOrdered
    Operator
    in
    Function
    list
    Property
    WheelsAllowed
    If not specified
    Ignore
  6. Attach this rule to the Mountain Bike, Racing Bike, and Dirt Bike models.

    The same rule is attached to three different models, but the value of the WheelsAllowed property is specific for each model. That is, for the Mountain Bike model, the MtnBikeWheelsAllowed list is used, whereas for the Racing Bike model, the RacingBikeWheelsAllowed list is used. Similarly, the DirtBikeWheelsAllowed list is used for the Dirt Bike model.

Rules in Visual Modeler

Rules are essential to the Visual Modeler. They determine which instances of a model are valid. By defining and attaching rules to appropriate places in the model hierarchy, you ensure that customers may select only combinations of options items that are compatible or suitable. In doing so, you ensure that customers are offered the best shopping experience possible.

Each time a model is validated (for example, each time a user make a pick of an option item), the rules are fired. Some rules may evaluate to false: these are said to fail, whereas if a rule evaluates to true, then it is said to succeed.

A rule consists of one or more fragments and an action. The action can consist of either message actions (messages that will be displayed), an expansion action (items that will be added), or an assignment action (properties that will be assigned).

Rules enable the Configurator Engine to guide a customer through the configuration experience by offering additional explanations and checking the selected options to ensure a correctly built product. The rule can also check when certain conditions will provide expansion, that is, provide a customer with additional option items in the configured solution.

Rules can be simple: a particular option item must not weigh more than 100 grams. Rules can be complex: one option item must not weight more than 100 grams OR another option item must not weigh more than 50 grams AND the material must be steel.

Rules result in some kind of action being performed. A rule can check to see if some condition prevails and then display a message action as a result. An example of this would be a check on the total weight of a bike resulting in a warning message that the bike is over a weight limit.

Rules can result in expansion actions. Based on a rule, additional selections can be provided for a customer. For example, a rule can decide if additional memory is needed and how much.

Rules can result in assignment actions. Based on the calculations in a rule, a value can be assigned to a designated property.

You can choose to design rules that display messages when a model instance fails to satisfy a rule or when a model instance satisfies the rule. You can also adjust the severity of the message.

Defining and Attaching Rules

You define rules at the model group level or the model level depending on how the rules will be used. For example, if you want to attach the rule to any element in the model group hierarchy, then you define the rule at the root model group level. If you want to limit the use of a rule only to elements within a certain model group (or to elements in sub-groups within that group), then you define the rule only at that model group level. Likewise, if you want a rule for localized use by the elements in a particular model, then you define the rule at the particular model level.
TABLE 11. Defining and Attaching Rules

Model Group
Model
Option Class
Option Item
Option Class Group
Option Item Group
Define
Yes
Yes
No
No
No
No
Attach
No
Yes
Yes
Yes
No
No

Attaching Rules

Once you have defined a rule, you attach the rule to some level in the model (or group) structure. Where you attach the rule in the structure determines when the rule is fired (see Rule Firing). By attaching a rule to a model, you ensure that the rule is processed to validate the model. A rule may be attached to any number of models (including sub-models). You can also attach rules at the option class and option item level, if the rule is specific to that level.

The point at which you attach a rule determines where messages will be displayed to end-users as they configure the product, and it determines when, in the order of rule-firing, the rule is fired.

Rule Fragments

A rule fragment is a component of a rule and comprises a function and property joined by an operator to another function and property (or sometimes a literal value). The function determines a value for a property. Table 12 lists the functions supported by the Visual Modeler.
Note:
The functions listed here are the standard functions. The list of functions can be customized for your installation. See the Comergent eBusiness System Developer Guide.
TABLE 12. Function Definitions 
Function
Definition
list
Used with the operators "in" and "not in" to check if a property value is included or not included in a specified list of values.
sum
Sum of the property values from all selected items having the specified property.
value
Uses the property value for comparison. If multiple items exist on the order with the given property, then the maximum value is used.
min
Returns the minimum property value from all selected items having the specified property.
isselected
Returns true if the option item is selected; otherwise returns false.
propval
Returns the value of a property even if the option item has not been selected.
max
Returns the maximum property value from all selected items having the specified property.
count
Counts the number of objects (selected option items, models, or groups) having the specified property.
parent
This function walks up the tree from the current location to see if the property has been defined anywhere at or above the current location. For example, if the rule is attached at an option item level, then the property will be looked for on the option item itself. If it is not defined there, then the option class to which the option item belongs will be looked at to see if the property is defined there.
literal
Exact match of the literal value.

Operators tie rule fragments together and define the fragments' relationship within the rule. Table 13 lists the operators supported by the Visual Modeler.
TABLE 13. Operators
Operator
Description
!=
Not equal to
<
Less than
<=
Less than or equal to
=
Equal to
>
Greater than
>=
Greater than or equal to
in
In the specified list
not in
Not in the specified list

For example, the rule "value(wheels selected) >= max (wheels required)" states in conversational English, "the number of wheels selected in the configuration must be greater than or equal to the maximum number of wheels required by the configuration; otherwise this rule fails".

Single Fragments, Multiple Fragments, and Nested Fragments

A single fragment can consist of either of the following:

For example, a rule that has a single fragment might read: Quantity of wheels ordered = Quantity of wheels required. In this example, Quantity of wheels ordered is the first half of the fragment with the property, wheels ordered, and the function, count (quantity). The second half of the fragment, Quantity of wheels required, has the property, wheels required, and the function is also count (quantity). The operator is equals ("=").

Single fragments can be linked together to form multiple fragments using Boolean operators, AND, OR, ANDNOT, ORNOT.

For example, we can use the preceding single fragment and add another single fragment to form a rule with multiple fragments (multiple lines in the Visual Modeler):

Quantity of wheels ordered = Quantity of wheels required

AND

Type of front wheels = Type of rear wheels

You can build complex rules such as:

(FragmentA AND (FragmentB OR FragmentC))

See Fragments for examples of simple levels of fragments and nested levels of fragments.

If Not Specified

A property can have an unspecified value. If a property is not assigned to an object which is part of the current configuration (a valid option item is not selected), then the value for that property is defined as "not specified".

When creating a rule, you can select from four results for a fragment when the property is not specified:

Triggering the Rule: Success or Failure

When you create a rule, you can specify whether action results if the rule succeeds or fails. For example, you can specify that the rule will be triggered on "failure". In this case, if the rule evaluates to "true", then nothing is done. No message is displayed; if the rule involves expansion, no expansion occurs.

Rules and Messages

Messages are used to help guide a user toward correct configuration choices. The rule message text may be up to 2000 characters in length.

For each message action, you can specify one of three types of messages.
TABLE 14. Types of Rule Messages
Message Type
Definition
Suggest
Suggest messages create a message for the user indicating that a rule has failed or passed. These types of messages provide details about the suggestion (for example; "You may want to add more memory"). The configuration can continue.
Warn
Warn messages are similar to Suggest messages. The configuration can continue.
Error
Error messages prevent further configuration until the error has been cleared.

Expansion

Expansion means that, based on a rule formula, additional items are added to the model configuration. The result of a rule formula is the starting point to determine which option item(s) is expanded and included in the product configuration.
Note:
Properties can be used to create rules that will calculate, based on a user choice, the correct parts to expand on a model with additional option items.

The modeler can use rule formulas to create rules that calculate or determine the result of a rule. In general, rule formulas are based on values associated with properties. For example, a modeler can use a rule formula to compare the property quantity ordered by a customer with the quantity required for the model. The rule formula calculates the difference, if there is one, and can automatically expand the model to include the option items that are needed to match the required quantity.

Numerical rule formulas must be valid mathematical expressions. A rule formula combines mathematical notation with Comergent functions, operators, properties, and literal values to produce a value that is then measured against a minimum and maximum value to determine what and how much should be expanded. (Ranges are used only if a rule formula has been entered.)

Click here for screen shot.

FIGURE 12. Memory Requirements Rule

The following example illustrates a business situation where creating an expansion rule formula is useful. A customer orders a workstation. The first fragment of the rule references a property called MX75_Mem_Auto_Select and is set to YES. The second fragment references two properties: MX75_Mem_Ordered and MX75_Mem_Required. If the MX75_Mem_Auto_Select is set to YES, and if the customer orders less memory (MX75_Mem_Ordered) than required (MX75_Mem_Required), then the rule formula result is used to expand the configuration to include the right amount of necessary memory. The customer is prevented from ordering an invalid workstation.

In this rule, a rule formula would be written as in Figure 12. If the customer orders 64 MB of memory and the memory required is 128 MB, then the rule formula returns a result of 64. This result is evaluated against the min/max ranges for results and finds that 64 falls within the range of a minimum of 64 and a maximum of 128. According to the table, when this happens, a quantity of 128MB of memory is selected (expanded).

Assignment

Another type of action that can result from a rule is Assignment. In this case, the Modeler can define a rule that results in a value (based on the rule formula) being assigned to a property designated by the modeler.

Rule Firing

The C3 Configurator processes rules by a two step process. Within each level in a model hierarchy, it processes rules according to the order defined by the modeler when rules are attached to that level. See To Modify a Rule for the steps to sequencing rules.

Within the model hierarchy itself, C3 Configurator follows a process called "depth first traversal". At any node in the structure, C3 Configurator traverses down through that node's children to the lowest level, then traverses back, firing rules as it goes.

FIGURE 13. Rule Firing

For example, in Figure 13, C3 Configurator starts at the top and checks for any children, then traverses down to the first node. At this first node (Option Class 1), C3 Configurator checks for children. Since none are found, C3 Configurator fires any rules attached to this option class, in this case only one (1).

C3 Configurator proceeds to the next node (Submodel A) and finds two children (Option Class 2 and Option Class 4). Option Class 2 has a child (Option Class 3) so C3 Configurator traverses to that node. Since Option Class 3 has no children, C3 Configurator fires the rules attached to Option Class 3 (2), then traverses back up the structure to the parent, Option Class 2, and fires the rule (3) attached at that node.

C3 Configurator traverses to the next child of SubModel A, Option Class 4. Finding no children there, the rule attached to Option Class 4 (4) is fired. At this point, C3 Configurator traverses to the parent, Submodel A, and fires the rules attached to that level (5 and 6).

Now, C3 Configurator moves to the next node (Option Class 5) and, finding no children, fires the rule attached to Option Class 5 (7). Having fired all the rules attached to the children, C3 Configurator now traverses back to the parent (Model B) and fires the rules attached to the parent (8 and 9).

Managing Option Constraints

When customers select certain option items, you might want to prohibit them from making other selections. For example, a car dealer might want to constrain certain interior colors of a car from being sold with certain exterior colors. Likewise, combinations of option items might constrain the selection of other option items. For example, if Option A and Option B are selected, then Option C is not a valid choice.

You can create these constraints by creating a constraint table for a particular model. The constraint table consists of two or more columns each of which represents an option class containing choices (option items) which may or may not be valid with the choices in the other columns. The constraints are defined by one or more constraint rows in the table. When you create the table, you can include a message (error, warning, or suggestion) that is displayed.

Click here for screen shot.

FIGURE 14. Option Constraints

The above figure shows a set of option constraints for the car example. When translated into a model for the customer, this table means that the customer's choices for Exterior Color and Interior Color must match a set of choices in one of the constraint rows: for example, Black and Silver, or Red and Green are valid choices, but not Black and Green.

You can also define a constraint row so that the choices for one column are not valid with the other columns. In this case, you want to constrain the customer's choices from matching any combination of items in an invalid row.

See Option Constraints for more information about constraint tables.

Testing and Compiling the Model

As you create your model, you can test the model as you go along. Once you have created the model, you can easily click a button to compile the model into an XML file.

Copying and Embedding

In Release 7.0.1, you can copy or embed entities in the model group hierarchy. To copy an entity (model group, model, and so on) means to make a duplicate of a single entity (in the case of an option item) or of an entity and its structure (in the case of a model group, model, or option class group or option item group) within another location in the hierarchy. To embed an entity is to make a duplicate of the structure of an entity. For example, to embed a model is to take the model's structure and duplicate that structure (option classes, groups, and so on) within a destination in the model group hierarchy. Copying or embedding is performed at different location in the Visual Modeler interface. See the individual tasks related to copying or embedding in CHAPTER 14, Using the Visual Modeler for more information.

When you are copying or embedding, attached properties follow certain rules:

FIGURE 15. Property Conflict During Embedding

Importing and Exporting

You can import or export model groups or models in the form of XML files. When you import, you can choose to import a model group or model to a specific destination or you can import the model group or model with its structure relative to its original root model group. This means that, rather than choosing a destination model group, the model group or model will be placed relative to the destination root model group in the same position relative to its original root model group without compromising the integrity of the destination (existing paths, and so on).

For example, in Figure 16, Model MOD1 (located in Model Group MG2.1 which is located in MG2) is being imported into MG2 on the right. It is being imported relative to the root model group. In the destination hierarchy, there is indeed a Model Group MG2. However, there is no Model Group MG2.1 within the destination MG2. During import, the process will recreate the original structure relative to the root by creating a new Model Group, MG2.1, in the destination. This is correct since it will not compromise any models already existing under MG2.

FIGURE 16. Importing Relative to the Root Model Group I

In Figure 17, Model MOD1 (located in Model Group MG2.1 which is located in MG2) is being imported into MG2 on the right. It is being imported relative to its original root under MG2.1. In the destination hierarchy, there is indeed a Model Group MG2. However, there is no Model Group MG1A. To create MG1A above the existing MG2 would compromise the integrity of any entities within MG2. In this case, therefore, the process satisfies the import requirements by creating a new branch: MG1A, MG2, MG2.1, and the imported MOD1 with OC3.

FIGURE 17. Importing Relative to the Root Model Group II

Properties, Rules, Lists, Option Groups, and Sub-Models

When you import entities, the process handles properties, rules, lists, and option groups differently, depending on whether you are importing a structure as relative to its original root, or whether you are importing to a specific location without regard to its original root.

When you import a structure relative to its original root, the process handles these items in the following manner:

When you import a structure to a specific destination, the process handles properties, rules, lists, and groups in the following manner:

FIGURE 18. Importing to a Specific Location - Groups and Sub-Models

Searching

In Release 7.0.1, you can search the model hierarchy for entities that contain property names or property values that you specify as parameters for the search. You can use the entire hierarchy for your search, or you can limit your search to model groups, models, option classes, option items, or rules. You can also limit your search to the currently selected model group, model, option class group, or option item group. See Searching for more information.

Reporting

In Release 7.0.1, you can run a report on any of the models created with the Visual Modeler. You define the criteria that the report will include:

PREV NEXT
Comergent Technologies
http://www.comergent.com
Voice: (650) 232 6000
Fax: (650) 232 6010
support@comergent.com
sales@comergent.com