The present invention relates generally to risk management generally, and more particularly, to methods and utilities for modeling risk information, such as risk information in the context of a business.
Business process models have become a ubiquitous tool for documenting, designing, and managing the core functions of an enterprise. The range of information that can be represented in process modeling software toolkits has steadily expanded beyond simple workflow representations to include information regarding process objectives and measures of process performance, oversight and control policies, and supporting resources. By representing these concepts in a standardized framework, business process models provide managers with insight and a common language to describe how their businesses operate and how they provide value to their customers and stakeholders.
Business process models are also seen as an integral tool for corporate governance and risk management. For many companies, process modeling has also become a legal requirement after the passage of regulatory legislation such as the Sarbanes-Oxley (SOX) Act. Such laws were passed in the wake of the accounting scandals and financial industry crises of the early 2000's, with a primary aim of ensuring that companies would enact the proper controls to reduce their operational risks. Other regulations, such as the Basel II accords, additionally require firms to measure and hold reserves against their operational risk exposures.
Currently, however, most risk management and quantification techniques are at best only loosely coupled with process modeling. Risk management techniques such as Failure Mode and Effect Analysis (FMEA) use business process models as a starting point for identifying and locating possible risk exposures, but do not document the risks themselves in the process models, or, use the process model relations explicitly in quantifying risks. To date, there have been few efforts made to formally integrate risk management concepts into a standard business process metamodel. For example, no standardized notation has emerged to express such notions as failure modes of resources, root cause events, and sources of execution failure and low job output quality directly in the context of process models.
Business process models represent the activities and participants that contribute to the achievement of specific value-generating objectives of a firm. Operational risks are a set of threats that jeopardize the achievement of those objectives. Current standards and frameworks for risk management require that business process models be used in order to help identify and assess various operational risks.
Currently, however, the metamodels that define the vocabulary of business process models do not include a sufficient vocabulary to capture and express all information that is relevant to identifying and quantifying operational risks.
Thus, it would be highly desirable to provide a system and method that addresses the need for more effective modeling of risk information in the context of business processes.
It would further be desirable to provide a system and method for extending the execution semantics of standard business process modeling languages in order to simulate the effects of risk events within business processes.
The present invention provides a system, method and computer program product that addresses the need to integrate risk management concepts into a standard business process metamodel by defining a set of metamodel extensions to standard process modeling languages that incorporate risk information directly in the process model.
A system and method is also provided that enables the constructing of graphical business process models that represents operational risk information in the context of business processes wherein a data model is described as an extension of a business process modeling notation.
In a farther aspect, a system, method and computer program product is provided for collecting risk-relevant information and a method to incorporate this information into business process model diagrams. This information is relevant to the identification and quantification of risks and their effects on process objectives.
Further to these aspects, there is defined a set of extensions to a business modeling language, such as the Business Process Modeling Notation (BPMN) Ver. 1.1 process modeling specification standard (OMG, 2008), the content and disclosure of which is incorporated by reference as if fully set forth herein.
Thus, according to one aspect of the invention, there is provided a system, method and computer program product for generating: (1) A data model specifying the risk-related information required to populate business process models; and, (2) A method for identifying, collecting, and integrating this data within the context of business process models.
According to a her aspect of the invention, there is provided a method for representing operational risk information in a business process model, the method comprising:
receiving, at a computer device, first data defining a job type that is to be processed in a business process model, the job types having associated job attributes specifying for determining an order of activities to be performed;
receiving, at the computer device, second data for each job type, the second data specifying one or more resources and associated functions of resources that support activity execution and one or more preconditions to be fulfilled by the resources performing the functions, the second data for each job type further comprising a defined set of performance measures related to activity execution and to job output quality, the job output quality including job quality states defined according to different levels of quality;
receiving, at the computer device, third data defining a set of risk events that potentially compromise the performance measures, a risk event having assigned one or more attributes specifying risk event frequency and severity level, the set of risk events being linked to one or more resources;
receiving, at the computer device, fourth data specifying one or more preconditions for the activities in terms of requirements to be fulfilled to begin activity execution;
providing a function for each activity that maps a state of a resource, job, external factor, as well as an occurrence or non-occurrence of one or more errors, to output states of the resources and jobs and to the activity execution performance measures; and,
implementing a graphical model notation for depicting, on the computer device, a business model representation extended to incorporate the first, second third and fourth data using the activity mapping function, the business model representation displayed to include representation and impact of operational risk.
Further to this aspect, in the method for representing operational risk information, the second data further includes, for each job type, a specification of variants of said job type activities or executions thereof, said second data including a correlation of available resources to said activity or execution variants.
Moreover, in the method for representing operational risk information, the second data further includes data specifying failure modes of each said one or more resources for each sad job types and specified variants thereof.
Further, in the method for representing operational risk information, the second data further specifies indicators of vulnerabilities to risk events.
Further, in the method for representing operational risk information, the fourth data further comprises: specified external factors that must be satisfied in order to begin activity execution, the external factors including environmental factors.
In a further aspect of the invention, there is provided a method for extending a business process model comprising:
specifying first elements representing performance measures and objectives of a business process which may be compromised by risk events;
specifying second elements representing contextual information describing circumstances in which the business process is executed which may be relevant to a failure mode, the contextual information comprising at least a type and state of resources required to support the business process, a type and state of jobs and artifacts that undergo the business process; and, a type and state of any influential environmental factors;
specifying third elements representing errors which may occur during process execution;
specifying fourth elements representing causal relationships among risk events related to the resources, activities, and the environmental factors that may influence process execution; and,
providing a set of metamodel extensions to a standard process modeling language that incorporate the specified first second third and fourth elements directly in the business process model.
Advantageously, as a consequence, the operations risks associated with achieving business objectives can be quantified. Moreover, the system and method for extending the business models herein provide support to risk managers who must make decisions regarding investments in risk countermeasures, process reengineering, control improvements, optimal risk responses, and root cause inference.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
The present invention provides a system and method that addresses the need to integrate risk management concepts into a standard business process metamodel by defining a set of metamodel extensions to standard process modeling languages that incorporate risk information directly in the process model.
The risk modeling language and the model extensions described herein provides structure to the process of identifying key risks. One may begin with a standard, existing process model and iteratively query on each of its component tasks, identify possible failures, drill down to determine their root causes, determine their likely effects on process performance, and ensure that remediation procedures are planned for each possible eventuality. The invention introduces a vocabulary for risk concepts and their possible relationships and combinations, and enables the creation of systematic procedures to chart causes and effects of errors.
Additionally provided by the system and method of the invention is the ability to derive quantitative models for assessing risk exposures from a properly constructed risk-extended business process model. The risk-extended process models introduce graphical nodes connected by lines that indicate relationships among model elements, in particular, cause-effect and other dependence relations. These entities and relations are directly mapped to a quantitative graphical model that is programmed for computing the risk-related impacts on the distribution of process performance measures, such as a Bayesian network or a discrete-event simulation model.
Furthermore, the risk-extended process model provides guidance on exactly what data must be collected, and from which sources, in order to estimate the parameters of a quantitative risk model.
As referred to herein “risk” is defined as events that can disrupt a business process and negatively affect performance measures such as the execution time and cost of processes, or the quality of their outputs. Risk is thus understood to include the probability of unsatisfactory outcomes of such process-related performance measures as described herein below. Process risks may therefore be regarded as an important, but by no means exhaustive, subclass of operational risks. They include such risk event types such as technology and infrastructure failures; natural disasters and public safety; and execution, delivery, and process management risks such as would typically be seen in manufacturing and service delivery environments.
Business process models provide a valuable organizing context for identifying and analyzing a broad class of operational risks, as they graphically depict the events that occur in the value-creation process. In particular, the role that different activities undertaken by the business (or by cooperating actors outside the business) play in contributing to the overall performance of the process may be viewed in accordance with the present invention. Alternatively viewed, the process model also provides an indication of how errors or failures in activities contribute to diminished process performance. Thus, the invention provides a way of understanding and visualizing how process performance may be impacted by such failures by providing further annotations to the process models than what standard process metamodels currently allows.
In an example embodiment, there is defined a set of extensions to the BPMN (Business Process Model 1.1 process modeling specification standard (OMG, 2008), the content and disclosure of which is incorporated by reference as if fully set forth herein. It is understood that the principles of the invention can be implemented in other modeling tools such as the ARIS toolset (company IDS Scheer) or, for other tools that support the BPMN modeling language. Although the development model described herein is most closely tied to the BPMN process metamodel (OMG, 2008) incorporated by reference as if fully set forth herein, the disclosure mainly focuses on elements of that model that can be found in nearly every business process metamodel, such as tasks, control flow arrows, splits, forks, joins, and merges, etc.
The defined set of extensions and expansion of the vocabulary of business process models enable the specification of explicit the dependencies between activities in the process diagrams and process risks. In doing so, further information is added on various task requirements, such as supporting resources, as well as the effects of specifically identified “risk events” that could disrupt task execution. The invention makes these relationships explicit, and provide new insights into key risk drivers such as critical resources, common vulnerabilities among resources, and cause-effect chains of failure propagation. Such relationships assist a risk manager to know better how to invest in risk countermeasures, as well as to better respond to risk incidents as they occur.
The invention includes adding to concepts constructs such as resources, jobs, and performance measures in process modeling contexts, new elements. In some cases, the information associated with each of these modeling elements may be expanded; in other cases, new elements are added, while preserving the basic interpretations and relations among these elements in each case.
In one embodiment, risks is measured in terms of process performance measures, and in one embodiment, two broad classes of performance measures are focused on. First, there is considered measures of efficiency of execution, related to measures of the time or cost it takes to complete a job. Typically with process efficiency measures, each task in the process contributes a portion of an overall performance measure. In many cases, if it is assumed that transaction prices are fixed for the customer, events that negatively impact the efficiency of execution affect the firm alone. Second, the measures of output job quality are considered, which are primarily related to the satisfaction of external parties, such as the customer receiving the finished goods, or a regulator ensuring the safety of a product. Events resulting in a low output job quality, such as the contamination by lead of paint for children's toys, may not affect process execution times or costs. The converse is also true: a manufacturer who has a parts inventory shortage may incur extra time and cost in the emergency procurement of parts in a gray market, but the quality of the finished goods may be exactly the same.
The types of risks threatening process performance are characterized into several broad categories. To understand this taxonomy, a process model is considered as an activity flow diagram, specifying an order of tasks, and each of these tasks has a set of preconditions which must be filled in order to begin the execution of the task. In one embodiment, a precondition is used to designate a set of requirements that must be fulfilled in order for an activity to begin execution. Activity post-conditions refer to the state of the job and associated resources at the completion of the activity.
In one embodiment, three classes of risk are identified to business process models:
These categories may not be mutually exclusive; for example, an improperly trained computer operator's incorrect entry of application data might be classified as a failure to meet the preconditions of the task, a resource inadequacy, or simply a task execution error. The best choice for capturing most risk scenarios may depend on the overall objectives of the analysis.
As typical process models are normative in character, in that they express how a process is intended to function in an ideal sense, as opposed to a description of the actual functioning of individual process instances, a process model is meant to express a context-free template for a sequence of tasks that can be replicated at different times and places, executed by different resources, and serve the ends of different stakeholders. However, in those cases where processes fail, they do so for a variety of reasons that are often closely tied to the particular circumstances of the process execution. In addition, certain performance measures may be tied to classes of process execution instances, which may be associated with sets of circumstances. Therefore, in order to understand the mechanics of how business processes fail, further information is incorporated into the process models that specifies the particular situations and environments in which the process may be executed.
In one aspect of the invention, business process instances are contextualized through the specification of job type and resource type. Failures are specified according to risk event types. In addition, the invention takes into consideration additional determinants of context stemming from the application of mitigation actions and applied risk countermeasures, referred to herein as mitigation actions. Sets of mitigation actions may be considered as part of a decision-making framework in a risk management exercise.
In one aspect, these are included as graphical elements within the process model to document the effects these actions are to have on the structure and functioning of the process. The application of a mitigation action results in a change in the attributes of resources, jobs, activities, etc., that is intended to improve the manner in which risk events occur and impact the process. Mitigation actions may change the overall structure of the process as well, by for example adding resources, adding state inspections or other control measures, or reducing the impact on performance measures through insurance policies.
The linkages 23 between the types of jobs, activities, resources, and risk events are specified by defining attributes that are linked in order to express key relationships relevant to understanding risk impacts. Attributes, in one aspect, are used for specifying associational rules that link various classes of entities in the risk-extended process model. For example, attributes are used to specify classes of resources 15 that are associated with a certain job type 12. In one example, a type of risk event may be connected with a type of resource, distinguished by location. Associational rules are provided to simplify and automate the task of defining causal dependencies between classes of entities in the model. Example relationships between these model object classes as shown in
By the linking 23 of risk events to resources, resources to other resources, resources to activities and jobs, and activities and jobs to performance measures, the attributes allow mapping generic causal chains or chains of influence from root causes to final impacts. Attributes are thus critical elements of the risk model as they help to identify failure types that may occur repeatedly for a large class of job instances and resources. How these chains are described in terms of the mechanics of the causal relationships are modeled through job and resource states and state changes.
By introducing resources into the process model, objects are introduced which can persist beyond process completion, and affect future process instances. Thus, a failed resource can affect many process instances. In order to capture repeated failures, states are assigned which correspond to failure modes of the resource. The failure mode of a resource can be linked to task execution errors, or may cause activity preconditions to fail to obtain. The state of the resource can influence activity time and cost, as well as job output quality. All persistent task execution failures as the result of a resource being in a failure mode are modeled; that is, failure modes for activities are per se not explicitly modeled. Therefore, all task execution failures are understood as affecting a single process instance only. Unlike attributes, it is assumed that states may change their value during the course of a process instance or during the lifecycle of a resource.
Another form of persistence is in the quality state of the job that is undergoing transformation in the business process. Job states can also be important in modeling the information required in, for example, a quality inspection to determine if remedial actions should be undertaken to repair or replace a faulty job. This might be expressed in a business process model as a conditionally executed subprocess, depending on the state of the job at the moment of arriving at a decision gateway. The process of identifying the failure modes, and explicitly modeling the remedial steps to be taken when certain failure modes are discovered, allows a business to estimate how quickly and effectively it can respond to certain threats.
In many cases, states are not directly observable by the actors involved with managing or executing the process, and delays in the detection of failure modes can greatly increase the severity of their impact. For this reason, standard FMEA practice requires the probability of detection or length of time before discovery to be explicitly modeled to compute the severity index. In one example, in metamodel extensions, it is assumed that states of resources and jobs are observed at certain points, such as activity preconditions or decision points which explicitly refer to the failure modes of resources or the incoming job. In addition, certain inspection events are designated, which may be triggered at regular intervals, or with the occurrence of other events.
In addition to jobs and resources, there may be other variables that are not under the control of the business which influence the performance measures of time, cost, and job quality. These environmental factors may include market data such as exchange rates and commodity prices, or the state of regulations that determine whether completed jobs are compliant or noncompliant. Like jobs and resources, environmental factors have persistent states that can influence the states of jobs and resources within the firm, or the performance measures directly.
Causal chains of failure are built from the interaction of specific events that are associated with the business process. A conceptual model is provided for formally identifying and relating the various events which may occur. The BPMN specification already includes a number of events, such as process starts and completions, as well as intermediate events occurring within the process flow, including error occurrences, message transmissions among process participants, timed sequence flows, etc. In addition to these events, three more event types are added which are specific to risk modeling and are closely bound to the states of jobs, resources, and environmental variables
An important difference between risk events and what BPMN terms as “intermediate events” is that they do not necessarily occur within the process flow. The present invention accommodates risk events within the BPMN metamodel as a new event class, since they originate from or occur to entities that are outside the process flow. However, state change and inspection events are considered as intermediate events.
Definitions of the elements, states, attributes, events, and relationships required for risk-extended business process modeling are now described within the context of the BPMN specification, e.g., BPMN V.1.1 specification (OMG, 2008) the whole description and contents of the is incorporated by reference as if fully set forth herein.
Each of the risk modeling elements herein described further indicate how they inter-relate, and how they are to be represented within the BPMN framework:
Process. In the risk-extended model, processes do not only include those events, activities, and flows that occur between the start of a job and its completion, but also link these elements to resources and environmental factors, which may persist across several process instances.
Resources and environmental factors are treated as process participants, and associate each resource and environmental factors with a process of its own, which maps the possible evolution of state transitions as a state diagram. In addition, each process is associated with various job types which are eligible to undergo the process, as well as performance measures and risk events related to those performance measures.
As described above, which resources, environmental factors, performance measures, and risk events play a role in any given process instance depends on the job type of the job to be processed, as well as any applied mitigation actions.
As shown in
Thus, in accordance with a modified BPMN (e.g. V. 1.1) specification, in one embodiment of the invention, the “Business Process Diagram” Attributes are extended to include the following attributes:
Activity. Activities are modeled largely according to the BPMN standard, with a few modifications to allow relationships with jobs, performance measures, resources, and environmental factors, as well as to more precisely model their execution semantics in cases of failures.
The BPMN activity semantics are modified as shown in
As shown in
With regards to BPMN activity semantics, this is realized by adding a precondition requirements check as an implicit decision gateway, with a branch leading to activity execution 70 if all requirements are satisfied, and other branches each leading to sub-processes that must be performed in order to complete the requirements check. In cases where jobs or data objects cannot wait for the preconditions to become satisfied, a branch may simply lead to an end state node to indicate that the overall process instance is cancelled, which implies that the job has been cancelled. In many cases, error and compensation events can be used within the BPMN standard to represent the handling of any such exceptions within the activity.
Activity preconditions 65 are expressed as a set of requirements on the availability and quality of resources which are to play specific functional roles in the activity execution, as well as on the states of jobs and environmental factors. The resources that are required for activity execution are determined in the preprocessing phase of constructing the process instance, which assigns a resource of an appropriate type for each functional role defined for the activity, and further meets the resource type requirements that may be specified in the job type. This is an embodiment of role-based allocation of resources (see e.g. Sienou et. al. (2007)). The triggering of a check of precondition requirements 65 implies that an inspection takes place of the states of the job and supporting resources listed in the preconditions.
The execution of the activity 70 results in a set of postconditions, which includes the job state, the state of the supporting resources, and the evaluation of certain execution-related performance measures, such as time and cost. This is an extension of the BPMN execution semantics which do not support the concept of setting the states of, e.g., resources when an activity ends its execution. Similar to usual BPMN execution semantics, activity execution may be disrupted by events, which correspond to execution failure of a certain type.
Viewed abstractly, activity execution 70 is a random function that maps input states of data objects and resources and the occurrence of execution failures to output states of those jobs and resources, along with various performance measures. If further detail or additional activity steps need to be represented to describe what happens when certain execution failures occur, the activity can in principle be replaced by a sub-process 80 that initially branches according to the type of execution failures that may occur. Each branch 80a of the subprocess is associated with a different version of the same activity, but which assigns different probabilities to the outcomes.
Further, as shown in
Within the BPMN specification, the definition of activities to accommodate the possibilities of procedural and execution errors are modified. The specification of activity preconditions is handled by specifying a set of “Input Sets” of artifacts required for activity execution, such that execution begins if one of the Input Set requirements is fulfilled. The Input Sets are mapped to a set of Output Sets of artifacts using a set of defined Input-Output Rules (I/O Rules), which indicate what artifacts the activity produces based on the artifact input. This setup can be visualized in several ways: First, information is included about the types of procedural, precondition, and execution errors that can occur. Procedural errors allow certain “improper” input sets to be considered, conditional on whether the error occurs.
Second, preconditions and postconditions may also express requirements on the states of the artifacts that they reference. Precondition violations and remediation steps that are to be performed in case of such violations may be expressed using Error Events and related exception handling notation. Next, the Input-Output Rules are modified to allow execution errors to determine the output set of artifacts to be produced on completion of the activity. The output sets further specify the possible states of those artifacts on completion, with a probability distribution defined over these states.
According to the invention, the specification of the attribute “IORules” is modified to allow the rules to map each input set and a set of execution errors to an output set. That is, if the activity is instantiated with a specified input and a set of execution errors, the activity shall complete with the specified output. The output sets include artifacts whose states may be random, where the probability distribution governing the state of the output artifact can be dependent on the set of occurring execution errors.
Thus, in accordance with a modified BPMN (e.g. V. 1.1) specification, in one embodiment of the invention, a “Common Activity” Attribute Extension includes the following:
Subprocess. A subprocess represents a collection of activities with a defined control flow, which are defined as a single unit. When considered as a unit, the subprocess is treated similarly as an activity, but as a collection, it is similar to a business process. The utility of a subprocess for risk modeling purposes is to introduce a compact notation for indicating that certain influencing factors, such as resource functional roles and environmental factors, may affect many or all of the component activities. Also, performance measures for subprocesses are defined, which may be functionally related to performance measures for the component activities.
Gateways. Gateways are modeled using the standard BPMN notation. In cases where gateway routing depends on the state of the job or other entities, those states become observed; i.e., there are inspection events and associated message flows linked to the gateway. In addition, procedural errors may be associated with branches; these result in a misassignment of an output path. These may be modeled by specifying the probability distribution over output branches to allow for incorrect paths to be taken. According to the extended BPMN model (e.g., V.1.1), in one aspect of the invention, the “Gates” attribute of the Gateways class is removed and replaced with the following attribute:
State Diagram. State diagrams are used in order to describe the various states that a model artifact may take, as well as to in what manner and under what conditions those states may change. Artifacts that are described using state variables include jobs, resources, performance measures, and environmental factors. A state diagram is represented as a graph whose nodes correspond to different qualitative levels of various state variables.
A single node in the diagram may also be used to represent a state variable whose value may take many different quantitative levels. The qualitative state nodes are linked by flow objects that indicate possible state transitions. According to the extended BPMN model class diagram 440, as shown in
The state of an artifact can change according to various events, such as risk events, state changes in other artifacts, or deliberate actions taken to improve the state of the artifact, such as maintenance on a resource or remedial work done on a compromised job. The invention provides an indication of a functional dependence between the state of the artifact and other elements of the process model using a can affect relation(s); furthermore, causal relations between events affecting states of artifacts are represented using a can cause relation(s). These relationships provide the linkages between the states of the artifacts and the functioning of the process.
State diagrams are represented similarly as business processes, reusing the notation for activities and control flow arrows for the states and state transitions. Unlike process notation, however, start and end events indicating the initial and end states of these objects at process start and completion may not be included, as the objects may be in many possible states at those times. When the process begins, and the various artifacts associated with the process are assembled in the preprocessing phase, the states of those artifacts may already be determined by their pre-existing values prior to the job arrival, or they may be assigned randomly if the model does not keep a memory of the states of artifacts outside of process execution times. In cases where the value of a certain state variable may not always be known to the process owner or participants, a further state variable with binary states is provided to indicate whether that variable is observed or not. These states will change during inspection events, as described herein below.
State Diagrams are extensions to BPMN (e.g., V 1.1) and are classed as “supporting elements.”
Pool and Swimlane. In BPMN, processes are contained in pools, which are divided into a set of swimlanes that correspond to various process participants. Each activity of the process is assigned to a particular swimlane according to which participant is responsible for its execution. With regard to the business process, the definition of these objects are left intact; however, their use is extended to also contain state diagrams which describe the possible configurations of the various associated model objects that have a state, including jobs, resources, environmental factors, and performance measures. Each artifact may be assigned to a pool containing its associated state diagram. Each state variable is assigned to a swimlane within the pool, so that the nodes representing the range of states that may be taken by the artifact all reside within the swimlane. Flow object arrows indicating possible state changes start and end with states in the same swimlane.
State change events, described in greater detail below, may be attached to the pools and swimlanes, to indicate that one or more state variables may change in the event. These events may also be attached to the state nodes themselves, if the event only affects a single state variable of the object when that variable is in a particular state. In these cases, a state change arrow may originate at the state change event graphic.
Stateful Artifacts. Artifacts in BPMN represent entities that provide additional information about the process that is not directly related to the sequence or message flow. The following items describe new artifact classes that can be represented in the model either using a single graphical element (artifact notation), or through the pool and state diagram notation described herein above. Several means of representing these artifacts is provided to allow several layers of detail to be added to the model when necessary to highlight the risk-relevant relationships among these artifacts.
According to the invention, the BPM class of artifacts is extended by defining two new subclasses, “mitigation actions” and “stateful artifacts”. The latter subclass has four further subclasses: “Resource”, “Environmental Factor”, “Job,” and “Performance Measure.”
In one embodiment, the entry for “ArtifactType” is removed and replaced with the following attribute:
In one embodiment, the “Stateful Artifact” subclass include the following attributes:
In one aspect of the invention, the BPMN classes have been extended with a group of modeling classes and relations that are useful for risk modeling, along with constraints on the relationships among these entities. A graphical notation for displaying this information on a computing device is provided in view of
Job. Jobs 102 are represented as having both a set of attributes as well as a set of states. The value of the attributes define the type of job it is, which in turn defines the set of activities and resources required to process the job, as well as the relevant performance measures and influencing environmental factors. Job attributes do not change in the run time of the process. On the other hand, job states may change during run time, as they describe the state of completion or the quality of the job at any given point of the process.
Job types may be associated with an arrival process which describes the frequency of arrivals of tokens of that job type. This process may be described using further attribute values. In addition, the job type also determines the set of possible states that instances of that job type may fall into.
The “stateful artifacts” includes a “Job” subclass having the following attributes:
Resources. Resources 104 are physical or virtual entities that are necessary for a process or activity to function. The unavailability of resources, or damage to resources, can have adverse consequences on activity execution and job quality. Compromised resources are modeled as being in one of several possible failure modes, or states. During process execution, the state of a resource may change due to the occurrence of a risk event, a state change event or the execution of an activity. In the compact representation form shown in
Environmental Factors. An environmental factor 108 represents the state of some entity or quantity that is typically not within the scope of the jobs and resources associated with a process. Environmental factors may be associated with completely exogenous processes, such as exchange rates or regulations, or they may be associated with managerial decisions affecting the process as a whole, such as decisions whether to stop admitting new customers to a facility. These factors have a state that can affect the activity execution and other performance measures; in some instances, state changes in environmental variables may also cause state changes in resources and jobs. They are modeled in a similar way as resources. These are represented in a compact form in
l Performance measures. Measures of the execution performance of a process or subprocess are typically computed as a function of the execution performance of the component activities. Performance measures may also be associated with the states of jobs with certain attributes at the end of the process. Performance measures 106 are represented using pentagons in the graphical models (but it is understood other graphical depictions are possible). In cases where the performance measures take qualitative values, a swimlane representation may also be used to better indicate how and when the performance measures are affected at various points in the process execution. When performance measures are affected by activity execution, the activity and the performance measure nodes are connected by the “can affect” or “can cause” relations. Finally, in some cases environmental factors may affect the severity of a performance measure, for example, exchange rates affect the severity of excess costs for processes executed in foreign countries. No new attribute is added for this subclass of Stateful Artifacts.
Mitigation Actions. Mitigation actions represent another class of artifacts that may be used to indicate changes to be made to the structure and dynamics of the process. The objective of a mitigation is to improve the global functioning of the process. Because of the wide variety of possible actions that can be taken to improve the risk profile of the system, a specification of how mitigation actions affect the process as a whole or individual elements of the process is provided. In the extended BPMN notation, mitigation actions 110 are typically associated with modifications to sets of parameters that govern and describe the functioning of the process, or to modifications in the process structure itself.
The “stateful artifacts” includes a “Mitigation actions” subclass having the following attributes:
With regard to the attribute changes of particular artifacts and activities, each such action may be associated with the risk events, resources, environmental factors, jobs, activities and performance measures. For instance, in an assembly system, investing in a sprinkler system may be modeled as affecting the probability of having machine (i.e., resource) unavailability in case of fire hazard. Other mitigations (e.g., investing in a redundant electrical generator) can be seen as affecting the probabilities of a risk event (e.g., power failure). The effect of a mitigation is captured through modified values of some of the attributes of the associated entities. In addition, the mitigation action may be associated with a variant of the entire process, if the action affects the structure or flow of the process itself.
A mitigation can either be already in place (active) or simply considered (inactive). This information may be captured through a status attribute. The set of active mitigation dictates what version of each element is to be considered. Thus by taming inactive mitigations active or vice versa, one can perform scenario analysis and determine what combination of mitigations yield improvements in process performance. From that perspective, each mitigation is associated with an implementation cost.
Events. Risk events 112, state change events 114, and inspection events 116 are added to the BPMN model. Both state change events and inspection events are classed as Intermediate Events in the BPMN specification, as they occur either to the subprocesses or state-related activities within the pool corresponding to a resource or environmental factor. Risk events, however, are not necessarily viewed as occurring within the context of a process flow, as they may occur exogenously, and therefore these events are classed outside of the usual categories of Start, End, and Intermediate Events. The BPMN specification further distinguishes between throwing (or generating) an event and catching (or consuming) an event.
According to the invention, the BPM class of events is extended by defining three new subclasses: “Risk Event”, “State Change Event”, and “Inspection Event”.
Thus, in accordance with the invention, the BPMN V. 1.1 “EventType” attribute is removed and replaced with the following Common Event Attribute Extension:
State change event. State change events 114 may be thrown by any other event, such as an activity execution, risk event, or other state change events. They are caught by the artifact whose state changes in the event, which may be represented by the artifact or the swimlane notation. In the latter notation, the state change event may be attached either to the pool representing all state variables (if more than one variable changes value in the event), to the swimlane corresponding to a particular state variable (if the event only affects that variable), or to a particular state (if the event only affects the artifact if it is in that state). The state change event is associated with a table of transition probabilities from a list of initial states to end states. If the state change event is observed, then it is implicitly linked to an inspection event of the new state of the entity. Each possible transition in the table corresponds to a state transition arrow in the swimlane representation. Thus, in accordance with the invention, in the BPMN V. 1.1, a new “State Change Event” subclass includes the following attributes:
Risk event. A risk event 112 is a root cause of disruption of a process, which either triggers state change events in resources or jobs, or is associated with procedural or execution errors in processes or activities. Risk events may be assigned attributes which may be used to link them to those resources and jobs of a certain type whose states they can affect, or which specify their frequency or severity of occurrence. Risk events are not necessarily confined to any swim lane. A risk event is usually thrown by the environment. To express that it is thrown within a process, it may be included into the process flow as an intermediate event. For modeling that a process or activity catches a certain risk event, this risk event is attached at the process or activity boundary. Thus, in accordance with the invention, in the BPMN V. 1.1, a new “Risk Event” subclass includes the following attributes:
Inspection. An inspection event 116 implies that the current state of a certain stateful artifact is observed. For simplicity, it is assumed that the state is observed perfectly, so there is no remaining uncertainty about the state after the inspection. The observation of a failure state may lead to remedial processes via exception flows. Inspections are assumed to be implicitly a part of decision nodes and activity executions, insofar as the decision rules and activity preconditions check these rules. Inspection events may trigger other inspections or job arrivals to processes, especially maintenance or remediation-related processes. Thus, in accordance with the invention, in the BPMN V. 1.1, a new “Inspection Event” subclass includes the following attributes:
Associations. Four new directional associations 120 are provided between modeling elements in accordance with the invention as shown in
The new subclass “State Transition” relation requires no new attributes. The SourceRef and TargetRef attribute may include only States.
The “Can Cause” association holds among various events, when one may cause or give rise to another event. All events may be the source or target of this association. Activities may also be the source of a can cause association, which indicates that the activity execution event triggers other events to occur. In connection with the modified BPMN class diagram, no new attributes are required for the Can Cause relation. It is noted that the Direction attribute MUST be set to One. The SourceRef and TargetRef attribute may include any Event; additionally, an Activity may be a SourceRef.
The “Inspects” association holds between inspection events and the stateful artifact whose state is inspected in the event. The target of the relation is either the graphical element for the artifact, or its associated swim lane. Activities and data-based gateways are allowed to be the source of this association if there is an implied inspection in the precondition checks associated with those elements. In connection with the modified BPMN class diagram, no new attributes are required for the Can Cause relation. It is noted that the Direction attribute MUST be set to One. The SourceRef may include only Activities, Gateways, and Inspection Events. The TargetRef may include only swimlanes containing state diagrams of stateful artifacts.
The “Can Affect” association holds among risk events, activities, and artifacts. It often holds between entities for which one or more “Can Cause” relations have been defined among events associated with those entities. When performance measures are the target, it means that the entity at the source is associated with states or events that can lead to a change in the performance measure. When activities are the target, it means that activity execution may be affected by states or events of the source object. When resources or environmental factors are the target, it means their states may be affected. Risk events may only be the source of this relation, and never the target. In connection with the modified BPMN class diagram, no new attributes are required for the Can Affect relation. The Direction attribute MUST be set to One. The SourceRef attribute may include only the following element types: Risk Event, Resource, Environmental Factor, Activity, and Job. The TargetRef may include only the following element types: Resource, Environmental Factor, Activity, Job, and Performance Measure.
The “Modifies” association holds between mitigation actions as the source, and any artifact, activity, or risk event as the target. Similar to “can affect,” this relation indicates that the mitigation action would have an impact on the target element if it has status active, but rather than indicate a modification of the state of an artifact or the outcome of an activity execution, “modifies” indicates a change in the attributes of the element. For example, it may indicate a change in the frequency or severity of risk events, or the state change transition probabilities of a resource or job, or the probability of execution errors in an activity. In connection with the modified BPMN class diagram, no new attributes are required for the Modifies relation. It is noted that the Direction attribute MUST be set to One. The SourceRef may include only Mitigation Actions. The TargetRef may include only the following element types: Risk Event, Resource, Environmental Factor, Activity, Job, and Performance Measure.
According to the invention, as shown in
In the BPMN model, the Artifact Output Attribute Extensions class is extended to include the following attributes:
In the BPMN model, the Error Event Details subclass is extended to include the following attribute:
In view of
The following are additional attributes of a Procedural or an Execution Flow Object Error class (i.e., where the ErrorType is set to “Procedural” or “Execution”). That is, a Procedural or Execution FlowObjectError subclass is provided in the BPMN model to include the following attributes.
The following are additional attributes of a Precondition Flow Object Error (i.e., where the ErrorType is set to “Precondition”). That is, a Precondition Flow Object Error subclass is provided in the BPMN model that includes the following attributes:
In one embodiment shown in
In one embodiment shown in
In one embodiment shown in
In one embodiment shown in
In one embodiment shown in
In one embodiment shown in
In one embodiment shown in
In one embodiment, a BPD (Business Process Diagram) Element Set subclass is provided in the BPMN model that includes include the following attributes:
Further, in accordance with a modified BPMN (e.g. V. 1.1) specification, in one embodiment of the invention, the “Graphic Elements” attribute of the Process Attributes class is removed replaced with the following attributes:
Example process model diagrams are provided in an exemplary embodiment that illustrate a schematic process example incorporating the concepts and notations described herein. The first provides high-level risk information using what is referred to as a “level-one diagram.” The second, “level-two” diagram includes much more detail regarding the states of the resources, jobs, and environmental factors, as well as the relationships between various events.
The data models for risk-extended business process models can be complex, and the invention provides means of displaying the information in the data models that best facilitates key insight into operational risk, especially as regards the criticality and vulnerability of various process elements. In addition, these are linked to quantitative models for computing the likelihood of adverse events and their effects on performance metrics. Three methods for displaying the risk models are provided: level-one and level-two risk-extended process diagrams, as well as element-centric event chain diagrams. The first two diagrams may be translated to Bayesian network models and discrete-event simulation models, respectively, for quantifying the distributions of the performance measures of the process. The event chain diagrams provide structural insight into the criticality and vulnerability of resources, activities, and risk events.
Particularly,
More particularly, the example Level-One Risk-Extended Process Diagram 150 shown in
Each input and error node is connected to each output node for each activity. Gateways can be handled in a similar manner. In addition, nodes are included for resources which support other resources in the model, as well as nodes for risk events that specify whether the risk event occurs or not. These nodes are linked with each other and the existing nodes in the network according to the Can Affect associations among them. Using the probabilities specified in the metamodel, the functions mapping inputs to outputs for each activity, and the state relations specified by the Can Affect association, one can populate a Bayesian network that links the initial states of the resources, jobs, and environmental factors to the various performance measures.
An example Level-Two Risk-Extended Process Diagram 200 shown in
Because the extended classes and execution semantics of the risk-extended metamodel have been expressed so that it is consistent with an executable process modeling language, e.g., BPMN, the existing capabilities of discrete-event simulation packages that use the current BPMN standard can be built upon.
In one aspect of the invention, Element-Centric Event Chain Diagrams rearrange the Level One diagrams so that it focuses only on a single activity, resource, risk event, environmental factor, or performance measure. Such diagrams show all the factors and elements in the model which affect, and are affected by, this element of the model. These diagrams are useful because they provide direct structural insight into the criticality and vulnerability of each element in turn. Common vulnerabilities may come to light when, for example, common properties of resources are linked to a single risk event.
These models can be extended beyond the level-one diagram concepts to include more detailed information on causal chains of events. For example, one can map all the state changes and performance impacts due to a single risk event by following the various “Can Cause” relations in the level-two diagram.
An example stepwise process 300 for populating the risk model is now described in reference to
As shown in
As further shown in
An example might be the version of an operating system running on a computer. If all the computers in a data center are running an outdated version of Windows, then they may all be vulnerable to the same computer virus. This would be implemented by defining an attribute for each computer that would store as a value the version of the operating system it is running. Another example would be having two backup data centers that are both located on the San Andreas fault. The vulnerability to earthquakes might be recognized through setting a “location” attribute for each of the data centers that lists its address or GPS coordinates.
Continuing from step 324, there is further performed at 326 refining activity preconditions and risk event list based on resource failure modes and environmental factors. That is, at step 326, there is performed defining the preconditions for the activities in terms of the failure modes of each resource. If there are external factors that must be satisfied in order to begin activity execution, then this step includes defining environmental factors and state values accordingly. Continuing at step 328, there is performed defining activity functions mapping pre-to post-conditions. That is, at 328, there is performed defining a function for each activity that maps states of resources, jobs, and environmental factors, as well as the occurrence or non-occurrence of various execution errors, to output states of resources and jobs, as well as to activity execution performance measures.
The following represents an example mapping function in an example context of toy doll manufacturing: One activity in the manufacturing process is painting the dolls. The states of the jobs (dolls) may be defined as “product safety and quality compliant” and “noncompliant.” The resources needed for the task are paint and a person. The paint resource may take the state “contains lead” or “is safe”. The activity function mapping input to output states could be defined as follows:
The example context of toy doll manufacturing could be expanded upon to additionally include environmental factors. For example, to include execution errors, the possibility that the worker improperly applies the paint so that the quality standards are not met might be included. Now all probabilities of output states are one (i.e., explicitly modeling the execution error makes the output of the activity fully determined by the inputs). With the example activity function mapping input to output states defined as follows:
It is noted that in this toy doll manufacturing example, the input sets are just the various sets of states in which the activity may function (compliant/noncompliant, contains lead/is safe). If a state of a resource of “available/unavailable” are additionally included (e.g., the person assigned to painting the toy), then the set (compliant, is safe, available) is an input set, but (compliant, is safe, unavailable) is not an input set, because the activity cannot be performed without the employee there and the IORules for mapping input sets and execution errors to output sets are described in this example.
Continuing to step 330, there is performed identifying execution errors for activities and correlating them with preconditions. For this step there is considered the execution of each activity and a determination of what can go wrong. If an execution error may persist over several process instances, then the method includes locating a source of the error in one of the supporting resources or environmental variables. If the execution error could only affect a single process instance, then there is defined a corresponding error associated with the activity.
As further shown in
As further shown in
Additionally, for every failure mode, there is considered sets of events that may lead to the resource being in that state. Thus, risk events and state change events are defined accordingly. From step 340 there is performed a step 343 of defining state changes and inspection events for each resource, job type, and environmental factor. That is, for each failure mode of each resource, and for each state change leading to that failure mode, there is performed steps for answering the following questions: 1) When the state changes, would it be detected under the circumstances? If not immediately, then when, if ever? Thus, there is additionally performed the steps of determining points in the process where inspections of the resource state implicitly or explicitly occur, such as activity precondition checks and decision nodes. This step includes performing the same exercise with the state changes associated with jobs and environmental factors. From step 343 there is performed a step 346 of defining remedial activities for each possible state discovery upon inspection. This step involves considering what actions would be taken when it is discovered that a resource or job is in a “failure mode,” or how one might react to the environmental variables changing. Thus, there is performed defining any subprocess or auxiliary processes that would be triggered in order to bring the state back to normal, along with associated activity execution and job arrival events. This can lead to further process variants that are created.
Finally, as further shown in
Although the methodology presented herein and described with reference to
An example application of the present invention is now illustrated in accordance with
In this setting, several risk mitigation actions can be considered. For instance, investments in redundant servers would lead to an increase in IT resource availability, specifically decreasing the probability of having unavailable servers. Another alternative to increase the performance of this process is to increase the quality of the inputs (i.e., candidates) represented by the applicant desirability factor. This can be achieved by relying on external hiring agencies which pre-screen candidates (although for a fee). Finally, an increase in HR salaries would affect the competitiveness of HR salaries thereby indirectly reducing HR attrition.
As shown in
In the example Bayes net shown in
The Extended BPMN Process Execution Engine implementing the method of the present invention can be realized in hardware, software, or a combination of hardware and software. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded into a computer system, is able to carry out these methods.
Computer program means or computer program in the present context include any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after conversion to another language, code or notation, and/or reproduction in a different material form.
Thus, the invention includes an article of manufacture which comprises a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the article of manufacture comprises computer readable program code means for causing a computer to effect the steps of a method of this invention. Similarly, the present invention may be implemented as a computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a function described above. The computer readable program code means in the computer program product comprising computer readable program code means for causing a computer to effect one or more functions of this invention.
Furthermore, the present invention may be implemented as a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for causing one or more functions of this invention.
The system and method of the present disclosure may be implemented and run on a general-purpose computer or computer system. The computer system may be any type of known or will be known systems and may typically include a processor, memory device, a storage device, input/output devices, internal buses, and/or a communications interface for communicating with other computer systems in conjunction with communication hardware and software, etc.
More specifically, as shown in
The computing system 1100 additionally includes: computer readable media, including a variety of types of volatile and non-volatile media, each of which can be removable or non-removable. For example, system memory 1150 includes computer readable media in the form of volatile memory, such as random access memory (RAM), and non-volatile memory, such as read only memory (ROM). The ROM may include an input/output system (BIOS) that contains the basic routines that help to transfer information between elements within computer device 1100, such as during start-up. The RAM component typically contains data and/or program modules in a form that can be quickly accessed by processing unit. Other kinds of computer storage media include a hard disk drive (not shown) for reading from and writing to a non-removable, non-volatile magnetic media, a magnetic disk drive for reading from and writing to a removable, non-volatile magnetic disk (e.g., a “floppy disk”), and an optical disk drive for reading from and/or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM, or other optical media. Any hard disk drive, magnetic disk drive, and optical disk drive would be connected to the system bus 1101 by one or more data media interfaces (not shown). Alternatively, the hard disk drive, magnetic disk drive, and optical disk drive can be connected to the system bus 1101 by a SCSI interface (not shown), or other coupling mechanism. Although not shown, the computer 1100 can include other types of computer readable media. Generally, the above-identified computer readable media provide non-volatile storage of computer readable instructions, data structures, program modules, and other data for use by computer 1100. For instance, the readable media can store an operating system (O/S), one or more application programs, and/or other program modules and program data for enabling risk-extended business process model generation and display via Graphical User Interface (GUI).
Input/output interfaces 1145 are provided that couple the input devices to the processing unit 110. More generally, input devices can be coupled to the computer 1100 through any kind of interface and bus structures, such as a parallel port, serial port, universal serial bus (USB) port, etc. The computer environment 1100 also includes the display device 1119 and a video adapter card 1135 that couples the display device 1119 to the bus 1101. In addition to the display device 1119, the computer environment 1100 can include other output peripheral devices, such as speakers (not shown), a printer, etc. I/O interfaces 1145 are used to couple these other output devices to the computer 1100.
As mentioned, computer system 1100 is adapted to operate in a networked environment using logical connections to one or more computers, such as the server device that may include all of the features discussed above with respect to computer device 100, or some subset thereof. It is understood that any type of network can be used to couple the computer system 1100 with server device 120, such as a local area network (LAN), or a wide area network (WAN) (such as the Internet). When implemented in a LAN networking environment, the computer 1100 connects to local network via a network interface or adapter 1129. When implemented in a WAN networking environment, the computer 1100 connects to the WAN via a high speed cable/dsl modem 180 or some other connection means. The cable/dsl modem 1180 can be located internal or external to computer 1100, and can be connected to the bus 1101 via the I/O interfaces 1145 or other appropriate coupling mechanism. Although not illustrated, the computing environment 1100 can provide wireless communication functionality for connecting computer 1100 with remote computing device, e.g., an application server 1120 (e.g., via modulated radio signals, modulated infrared signals, etc.).
The terms “computer system” and “computer network” as may be used in the present application may include a variety of combinations of fixed and/or portable computer hardware, software, peripherals, and storage devices. The computer system may include a plurality of individual components that are networked or otherwise linked to perform collaboratively, or may include one or more stand-alone components. The hardware and software components of the computer system of the present application may include and may be included within fixed and portable devices such as desktop, laptop, and server. A module may be a component of a device, software, program, or system that implements some “functionality”, which can be embodied as software, hardware, firmware, electronic circuitry, or etc.
While it is apparent that the invention herein disclosed is well calculated to fulfill the advantages stated above, it will be appreciated that numerous modifications and embodiments may be devised by those skilled in the art, and it is intended that the appended claims cover all such modifications and embodiments as fall within the true spirit and scope of the present invention.