You can use attributes to avoid needing to define an excessive number of regular variables when you design the application. For example, if the fixed number of seconds that was specified as the wait time in a file wait operator is too short, the console user can easily override that value. This approach is more efficient than either changing the fixed value in the operator and deploying the application again or defining additional variables for operator properties.
Attributes are always runtime variables; you cannot, for example, set an activity attribute when a specific control flow instance is started. To use an EXECUTION_INSTANCE change phase for an activity attribute, you need to define a regular variable when you design the operator.
For example, the e-mail operator in a control flow has four properties: sender, recipient, subject, and message. If you define an e-mail operator with all four of these properties set to fixed values, after you deploy the application you will be able to set new values for these attributes and override the fixed values that were used at design time. This kind of override occurs at the activity level, and the new value is used whenever that specific activity is run (within the owning process and application). Changes to attribute values do not apply across control flows but are treated like changes of variable values; changes have no impact on instances that are already running, but they do apply to instances that are already scheduled.
For some activity attributes, a variable can be used as the value of the attribute. In this case, the value of the attribute is set according to the value of the associated variable. For example, the designer might define a variable ${email/sender} with a change phase of execution instance. When the instance is started, you enter admin@example.com as the value of the variable. This value is then used for the activity attribute.
For example, the e-mail operator has four properties: sender, recipient, subject, and message. If you define the sender and recipient as deployment phase variables, they cannot be adjusted at run time. If you set the subject and message properties as fixed values during design time, those fixed values can be changed in the Value field on the Manage Control Flows page by using the Run button in the console.