Figure 1P-14- Simple PolicyEvent

Header Image
Project:
Figure 1P-14- Simple PolicyEvent : Class diagram
Created: 3/28/2022 3:51:09 PM
Modified: 9/16/2023 8:30:46 PM
Project:
Advanced:
PolicyEvents are significant occurrences that trigger the evaluation of one or more PolicyRules. The composite pattern is used to define atomic and composite PolicyEvents, as shown in Figure below.<br/>A PolicyEvent is a base class that represents the occurrence of an event, which is used to trigger the evaluation of the condition clause of a PolicyRule. It has two attributes, which are used by an external system (such as a Policy Server or policy control logic) to track individual events and to ensure that they have been evaluated.<br/>The composite pattern is used to build atomic and composite PolicyEvents. A PolicyEventAtomic is a base class that represents the occurrence of a single atomic event, which is used to trigger the evaluation of the condition clause of a PolicyRule. In contrast, a PolicyEventComposite is a base class that represents the occurrence of a composite event. A composite event is an event that is made up of a set of PolicyEventAtomic and/or PolicyEventComposite entities. Like a PolicyEventAtomic, a PolicyEventComposite can also be used to trigger the evaluation of the condition clause of a PolicyRule.<br/>In the system view, the HasPolicyEvents aggregation is implemented as a class. This class has an attribute that contains an OCL expression that can be used to filter the set of PolicyEvents that are aggregated by the PolicyEvent. This enables an external application, such as a Policy Server, to dynamically adjust the set of events that are being used to trigger the evaluation of a PolicyRule.<br/>The EventTriggerDetails class is an association class. Though arguably a system entity, it is shown in Figure 1P- 13 to provide the reader with a better understanding of the power and inherent flexibility of this model. This class defines five attributes that implement the semantics needed for the IsTriggeredBy aggregation, and defines the set of Events that can be used to trigger the evaluation of this PolicyRule.<br/>The retryNumber attribute specifies the number of times that this PolicyEvent should be resent to the specified PolicyRule. If the triggerEndTime elapses, then the PolicyEvent will not be resent anymore, even if the retryNumber indicates that additional retries should be attempted. Instead, the hasEventEvaluated attribute of this PolicyEvent must be set to the value of 2 (failed to be evaluated). <br/>The retryPolicy attribute is an enumerated integer that defines the policy for retrying triggers. An enumeration enables the policy application to choose among a set of pre-defined policies for determining how many times to retry sending this PolicyEvent to its associated PolicyRule.<br/>The triggerConstraints attribute contains the specific OCL expression to constrain how a given set of PolicyEvents are used to trigger the evaluation of the condition clause of a particular PolicyRule. Defining this as an attribute enables external applications to populate the constraint that will be applied to this PolicyRule.<br/>Finally, the triggerStartTime and triggerEndTime attributes specify the start and end of the time period in which this PolicyEvent can be sent to the associated PolicyRule.<br/>