Dynamic business process in workflow systems

. The article presents the concept of business process modeling by using dynamic processes. An extended definition of the business process allows to construct a mechanism for dynamic selection of actions performed in order, which makes it possible to achieve the process goal assumed in the definition. The mechanism for selecting actions subsequently taken in the dynamic process constitutes extension of the functionalities in the workflow process, including the process progress status, WfMS and service environments.


Introduction
The process approach applied during the modeling, design, implementation and use of IT systems makes it necessary for the authors to model and design such business processes that shall constitute fundamental and necessary structure elements of the system based on the process approach [1,2,4,6].It is possible to model basically all of the processes used in the company's operations, however, such a comprehensive approach would cause a significant increase of complexity and hence the costs related to the implementation of such system.If the system based on the process approach is implemented in the incremental form, it means that the processes or groups of processes, which should be modeled or implemented in the first row, need to be distinguished.If the organization already uses the process automation systems, the analysis of definitions and instances of such processes may contribute to the decisions made with respect to their efficiency and quality, using methods and tools for process analysesprocess warehouses [7][8][9][10][11][12][13][14].The main selection criteria include the processes: that are most often implemented within the organization (quantitative factor), that have significant impact on efficiency and operating costs of the company (economic factor) and that have significant impact on the implementation of the company's main targets (strategic factor).On the other hand, the processes rarely implemented or characterized by high variability of their structure require a lot of effort on the part of creators of the business processes, which consequently results in the fact that such processes often have very complex structures.In such processes, the correlation between the cost of their implementation and potential profit during their automated processing may be largely unsatisfactory.It is possible to model and design such processes that would not require from their creators any high structural precision at the beginning [15][16][17][18].The aforesaid processes include adaptation, generic and dynamic processes.

Process modeling
One of the most important stages of creating a process is its modeling.It is usually the analyst working with different business employees, responsible for a given business process implemented within the organization and specialized in a given field, who is entrusted with the task of building the aforementioned model.
During the modeling process, persons responsible therefor, must identify actions in a given business process, which are both mandatory and optional.Apart from that, additional aspects of each of the aforesaid actions are determined: business owner, input and output data and their necessity, errors that may occur while performing a certain action and methods for dealing with such errors.
As a result of the business process modeling, formalized records are obtained.The format, in which the process model is presented, may differ depending on the adopted method and standard.The form is usually graphical (but may be also different), relatively easy to understand and maintain, with the support of appropriate tools.Currently, the most often applied form of graphic notation is BPMN v 2.0 [3].
The processes may be modeled in different ways, but the best results are produced by one of the verified modeling strategies [25][26][27][28].There are many modeling strategies, but none of them is universal -for one company one strategy may be more efficient than the other, and for another company -rather contrary.We may distinguish four basic strategies [2]: • top-down -according to this strategy, the modeling of a business process should start from the definition of general elements and then, at later stages, additional details may be added to reach the definition at the lowest level.The main advantage of this strategy is that it focuses around major business needs and then assigns particular detailed actions to be taken with respect thereto.The disadvantage is that the strategy requires extensive knowledge and experience -in case of complex processes, any mistakes made at a higher level may cause problems during the modeling of more detailed business processes.
• bottom-up -the strategy opposite to the one described above.The process modeling starts from the detailed elements of processes and subprocesses, whichwhen combined into increasingly larger groups -shall eventually create the whole business process.The advantage of such approach is the fact that it results in an accurately designed process, where all detailed actions, products and subprocesses are of great importance.However, one of the drawbacks is that the created business process model may turn out to be too detailed and complex and hence not fully compatible with the general business needs of the organization.
• inside-out (dissemination) -the strategy may constitute a compromise between the two abovementioned approaches.First of all, the main and most important processes, including their details, are defined, and then some elements, subprocesses and supporting tasks added.The difficulty in determining which tasks (or processes) are the most important may be considered a disadvantage, since any mistakes made in this case can lead to the necessity of re-starting the modeling process.
• mixed -this approach is a hybrid of all of the above-mentioned strategies.Intelligent use of the advantages related to other strategies helps to achieve better results and more efficient modeling, while minimizing the impact of drawbacks resulting from the application of the particular strategies separately.The process approach is characterized by constant and cyclical sequence of steps, which are aimed at modeling, implementing and improving processes.The sequence of such steps executed cyclically is defined as the process life cycle (Fig. 1).

Ad-hoc, adaptive and generic processes
The process models applied in the mainstream process modeling must be complete in terms of achievement of the assumed goals.It means that the authors must develop business processes which include many situations and cases [19][20][21][22].Based on such approach, the processes are usually very complex and susceptible to unexpected changes, which may occur in their environment, e.g.amended rules and regulations.Therefore, an alternative to the said approach in the process modeling might be ad-hoc, adaptive or generic processes.
The ad-hoc processes were intended to introduce an element of ambiguity and dynamics obtained during the process implementation, with initially non-defined form of such process, in whole or in part.They may be applied at a given place (as part of a certain activity) under the undefined subprocess, whose actual implementation means the choice of a particular set of processes possible to use at a given time.Currently, the most often applied method of defining subsequent processes under the ad-hoc process is manual selection of the processes by system users.Fig. 2 shows basic definition of the process using the ad-hoc process.

Fig. 2. Example of simple business process with ad-hoc process
Adaptive processes are the processes which may be adapted to new conditions encountered while implementing the process, in a simple manner, without any significant labor input, time consumption or financial contributions.The adaptation may be controlled by a person or automatically supported (in whole or in part).The current workflow systems support the said processes in a very limited manner, by using adhoc actions, which -however -need to be forecasted by the process designer prior to the process creation.Full adaptation to new, unpredicted conditions may be achieved with the help of the mechanism of dynamic processes.
Generic processes are universal and may be used to implement any general process, in case of which further clarification takes place at the time of implementing a given instance of the process.Current standards on the process modeling do not provide for a possibility of creating the aforementioned generic processes.

Dynamic business processes
The aforementioned types of processes: ad-hoc, adaptive or generic are aimed at developing a general and undetermined definition of the process, thanks to which such process would be adaptable to variable conditions [23,24].One of the possibilities is to dynamically adapt the process to the assumed target in the variable conditions.Such business processes may include dynamic processes.The processes may constitute extension of the idea of ad-hoc processes, where after determining the goal and indirect goals of the process, the sequence of the actions would be automatically or semi-automatically defined (Fig. 4).Selection of appropriate processes and actions to be taken to achieve the process goal or goals requires definition of additional properties for each process or action, which may be used as part of dynamic selection of next steps of the process to accomplish a given objective.When selecting the processes or actions in the subsequent steps, it is necessary to consider the changing process environment, due to which the implementation of the processes with the same goal does not have to have the same form.Such selection requires fulfillment of initial conditions for the performance of a given action.The factors determining such initial conditions of the process use may include, for example, the general process status (which may be permanent or affected by individual actions), previously performed actions or data obtained from the previously performed actions.The conditions may be obligatory or needed to support the selection of a given action.In combination with the definition of weights, we shall obtain the mechanism allowing to determine the limiting conditions or conditions permitting to benefit from the possibilities of a given process, based on current status of the process instance, process definition, condition of the workflow environment and its surrounding (presection -Fig.4).When checking the initial conditions (both obligatory and supporting), we may obtain a hint whether it is possible to use the said actions and processes in the process instance, at a given time of implementing such process instance.By using the aforementioned mechanisms and obtained results, we are provided with a special tool supporting the decision-making process regarding the choice of appropriate actions and processes in the next steps of a given process instance.Apart from the conditions for using a given process and their weights, the pre section may allow to define a set of guidelines and instructions influencing the status of a given process instance, workflow environment and its surrounding.Such a set of guidelines and instructions may be included in the post-section, which is activated and implemented after the workflow management system performs a given action.Such instructions may have impact on the process status and particular attributes describing the process, which shall result in greater possibilities of managing dynamic process development.

Structure of pre and post sections of dynamic process definition
The definition of the standard for recording input conditions of actions (the concept described in the previous chapter) and operations performed after completing a given action, which may be used to modify the process status, constitutes an important element of the designed extension of XPDL language [5].
The pre conditions may have different forms, refer to a simple process parameter, several interdependent parameters, rules, functions, general process status or its current progress.To stimulate the process progress, it is required to store the history of the previous process progress in terms of the order and number of actions performed as well as the process status at a given point in time.The definition of simple conditions regarding single parameters is rather easy and the functionality of their verification in the process runtime environment may be implemented without any problems, regardless of the form of recording.The problem occurs in case of more complex conditions of the structure of rules that may be defined in the pre-section.One of the solutions analyzed from the point of view of the project process itself would be to use a language, in which it is possible to record the assumed conditions and rules, e.g. by applying the first order account properties predicate.The application of such mechanism would eventually allow to implement a universal solution, similar to, for example, Prolog language.However, such solution implies the occurrence of a complex program for interpreting conditions recorded in the aforesaid language -this is the task much more complex that the scope of this study.Therefore, even though the creation of such a new language seems a bit exaggerated now, in the future it might turn out that it is quite reasonable and even necessary as part of development and popularization of the dynamic process concept.A compromise solution is to define a set of operators and functions allowing to handle the pre conditions and post operations, which need to be made available by the runtime environment of dynamic processes.The main disadvantage of the said solution is the lack of such developed universality that would be allowed by the above-mentioned solution.However, a set of the aforesaid functions may be so developed (e.g.thanks to additional libraries) that it offers sufficient universality level and, in some aspects, provides much greater possibilities, as the implementation of such functions may be definitely more extended that the implementation offered by the language of predicates (apparently, we may use another language, e.g.any programming language, which would be interpreted or complied during the implementation, but it would create rather severe problem regarding the issue of security, thus, it is not a good solution).Besides, this solution is much safer, as the implementation of the functions constitutes a part of the runtime environment, not the process itself.Apart from the security issue, another advantage of this solution is better resistance to general errors and basically complete elimination of syntactic errors.Furthermore, the processes using such solution shall be more transparent and easier to interpret.
The basis for the draft definition of the dynamic process is the XPDL standard [5], thus, in case of the basic definition of a part of the process description, the XPDL standard structure is used.Some elements of the process definition, describing the the aspects of dynamics, constitute extension of the definition of the XPDL process standard by adding supplementary structures required to save the dynamic process definition.Modification of the XPDL language refers to a number of aspects: x recording of actions that might be used in the process, x recording of security level of actions, x extension of the Activity and WorkflowProcess structure by elements required due to the dynamic nature of the process.
The first element shall be implemented by adding theType attribute to the Activity node.The attribute may have one of the two following values: ProcessElement and SpareElement.The activities of the ProcessElement type belong to the process flow.The process may be composed of a number of such activities.The activities of the SpareElement type belong to a set of activities that might be used in a given process.In case of applying such activity, it shall be copied to the process definition, whereas the Type attribute of the copied activity set to the ProcessElement value.The runtime environment of dynamic processes may provide access to a set of additional and public actions, which could be implemented in any process, by using e.g. a XPDL document containing the definition of only the SpareElement action type.However, every environment may implement such option in any way or not make it available at all.
The action security level shall be recorded through the SecurityLevel action attribute.The attribute may adopt one of the two following values: x Secure -secure level x Unlimited -level allowing unlimited modifications The third aspect requires considerably greater extension of the definition structure determined in the XPDL standard.The first components to be added is the information on the process progress, i.e. actions performed.Inside of the activity node, the node called Executions was added, including the information on further executions of a given action in the Execution nodes (there might be more than one execution of a given action, e.g.due to the process loop).Every single node of the action execution shall include execution identifier, date and time of commencement of a given action as well as its end time.It may also contain some information on the input and output data of the activities in the form of copied nodes -InputSet and OutputSet, including defined values of the parameters or artifacts.
Another addition to the standard XPDL shall be the pre section including a description of the conditions verified during the dynamic modification of the process definition.Inside the Activity tag, the PreSection tag shall be added, which contains the Conditions tag, which shall include individual conditions within the framework of the Condition tags.Each Condition tag has the Type attribute that adopts one of the three following values: • Required -the condition must be fulfilled in a security mode • Supporting -the condition is a supporting condition, so its fulfillment is not required in any of the security modes • Sufficient -the fulfillment of such condition is sufficient to benefit from a given activity in a security mode, regardless of the results of other Required type conditions.
The Condition tag may include a single simple condition -SimpleCondition or complex condition -And or Or.The And and Or tags may contain other And or Or tags as well as SimpleCondition.To meet the main condition, all other conditions contained in the And tag or any condition in the Or tag must be met in accordance with the principles of the Boolean algebra.The And and Or tags group other conditions, and their name defines behavior, this, they have no additional attributes.The SimpleCondition tag is defined by the operator in the Type attribute.The operator types of such operators are the following: Eq (equal to), Ne (not equal to), Lt (less than), Le (less than or equal to), Gt (greater than), Ge (greater than or equal to), Contains.The SimpleCondition tag includes two tags defining LValue and RValue of the operation.Each of them has two attributes: DataType -a type of the parameter data and Type -a type of the parameter.The Type attribute may adopt one of the three values: • Value -a value of the feature, • Parameter -a parameter used in the process as an internal Parameter element, with the Type (defining the parameter type) and Name (defining the name of the parameter in the process) attributes.• Function -the function is used if the value is defined by the function stipulated in the Name attribute of the internal Function tag.If the function adopts certain input parameters, the Function tag must include a set of such parameters.The parameters are grouped through the FParameters tag.The single parameter is defined by theFParameter tag, which is a copy of the following tags: LValue/RValue, including the additional Name attribute, which defines name of the parameter.It should be emphasized that even though, in this case, the structure allows for practically unlimited incorporation of the results of the function operation, as an input parameter of another function, the runtime environment of the dynamic processes shall always somehow limit this possibility.
The WorkflowProcess tag was supplemented with the Goal attribute, whereas the PreSection tag -with a set of the GoalWeights/GoalWeight tags, including Name and Weight attributes, defining weights for particular targets.
The last element, which should be added, is the definition of the post-section, where the operations performed after the completion of a given action are defined.The post-section is defined via the PostSection tag, which may cover any number of operations.Every operation is represented by the Operation tag, with one Type attribute, defining the type of such operation (operator).The Is operator functions similarly to other operators known from the pre section; the sole difference is the that only the process parameter may constitute Lvalue.The Procedure operator allows to perform any function, which does not return any result -the structure of the Function tag is identical to the one described above.All post-section operations should be performed in order according to the record in the XPDL structure.

Conclusion
The above material contains the results of studies related to the automated modeling and construction of the dynamic business processes.The presented process definitions supplemented with the pre and post sections allow to increase the automation level of the process of selecting subsequently executed actions, based on the set process goal.The application of the mechanisms for defining rules of availability of a given action in terms of the specific process progress and runtime environment and its surrounding allow to automate or support selfdefining and self-organizing business processes.The presented mechanism has also adaptive properties, since -in case of the target set for the process, its implementation may be each time different.The above depends on the progress of the process, variable set of available activities, changing status of the workflow environment as well as changing status of the runtime environment.The described mechanism for defining and implementing dynamic business processes refers to the area of process modeling and supporting decisions made with respect to the automatic selection of subsequent actions aimed at realizing the target defined in the process.In the following steps, the research should be directed at verification and potential modification of the method for defining dynamic processes, development of formal method for determining selection of further steps, including, among other things, reduction of costs and time needed to implement the process.Another additional and significant aspect is the dynamic and automated selection of some executive services, available at a given time for the performed activities, including their cost, resources and time.Such a solution would allow to automate the area of the business process modeling and definition as well as the selection of executive services of such processes.