Skip to main content
Skip table of contents

Client: Use of Attributes to Avoid Hard-Coding Values

This article generally applies to iGrafx Process and iGrafx Process for Six Sigma Client tools where simulation is possible. The setup, however, can be defined by iGrafx FlowCharter.

In another article on the topic of using random number distributions, it was stated that variable data is any data that is non-constant. This includes attributes, equations, logic, built-in functions and user-defined functions. iGrafx offers an extensive opportunity to represent variable data in a model. The locations where you may use variable data include, but are not limited to, the following: transaction generation arrival times, generation quantities, per-transaction costs, activity task times, decisions, and the many places where attributes may be initialized, assigned or manipulated.

In addition, an attribute may be used to represent a constant. Think of the attribute as simply a substitute for a constant or a carrier of a constant. This article is narrowly focused on the use of attributes in expressions for the purpose of supplying a constant value. We will cover why a modeler may want to use an attribute when he or she could simply enter a constant directly into the model.

Ease of model maintenance

If the same constant appears in many places in a model for the same purpose, then using an attribute gives a modeler the ability to update the value in one place rather than hunt all around a process map to make the updates. A scenario attribute would typically be used to accomplish this. Using an attribute not only saves model maintenance time but also provides some error proofing by ensuring that a person maintaining a model doesn’t inadvertently omit an edit that should have been made.

Even if a value is used only one time in a process there is still benefit to using a scenario attribute to represent the value. Imagine that there are 5 or even 25 or more values in a model that represent speeds, times, rates, percentages, etc. Rather than hunt around a model to view the values or ‘assumptions’ of a model, all of the scenario attribute values can be viewed and changed (controlled) in one window where they are initialized. This gives a modeler the ability to quickly review or present what all of the assumed values are, and provides a ‘control panel’ of values. This is especially important when modelers are collaborating on the same model or a model is being built and handed off to another modeler.


Hard-coded constants reside in the process map while scenario attributes reside in the scenario information. This implies that you could have many scenarios with different initialized values of scenario attributes and therefore perform what-if analysis with the same process map (or same set of process maps that define one model) without editing the process maps between runs.

As an extension of the above notion, those using Process for Six Sigma have the opportunity to use the RapiDOE (Rapid Design of Experiments) functionality. All scenario attributes used in a model automatically show up in the available factors section of the Design Experiment window. If constants are hard coded into a process map, then they are out of reach of the RapiDOE tool. By using scenario attributes a modeler tells the DOE functionality that something is a factor that can be used in a DOE.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.