Adapting Workflow Engines to Dynamic Use Cases

Adapting Workflow Engines to Dynamic Use Cases

Abstract

Existing workflow engines do not sufficiently address the concept of rapidly changing user environments and requirements. In such environments (for instance, steel plants and shipbuilding yards), the system users have to make ad-hoc decisions in order to achieve predetermined targets, and at the same time observe the corresponding safety policies. Moreover, a workflow engine deployed to such scenarios should be able to incorporate inputs from varying sources. Assuming a homogenous input system would expose the resulting system to inadequacies that are likely to cause grievous harm to the users. This thesis will propose an unconventional workflow engine that relies on adaptive implementations – in contrast to the common approach of workflow systems that provide for static implementation of requirements. In addition, the proposed system will assume that it cannot incorporate all possible environmental scenarios; hence, it will leave room for on-site adaptations that will allow it to mirror the use cases more accurately. This report provides a study of existing workflow engine concepts and implementations before suggesting a more agile solution from the related research.

Introduction

A workflow engine provides for a more suitable system if it is adaptable and able to account for requirements that the designer(s) did not explicitly provide for in the conception and design phase. Such an approach results in a dynamic system capable of rapidly fitting unpredictable work environments. In addition, such a system increases the safety of the targeted environment because the users can offer inputs, which the system processes according to a high-level design compared to a closely matching procedural system. This thesis explores this idea in seven major sections. It first provides a background of the workflow engine, and in turn examines the development of workflow software and management. The background informs the context, which will justify the research approach, questions and subsequently the literature survey. Moreover, it will suggest use case and requirements analysis before intimating a design and implementation approach.

Background and Context

Minor, Bergmann and Görg contend that workflow engines conceptualize actual business processes [1]– for instance, document sharing and information passing. In addition, they observe that the engine should conform to certain procedures that define how the business aims to achieve its objectives. However, they argue that conventional workflow designs are overly rigid. That is, they do not provide for future adaptations. Usually, workflow engines have five major constituents.

  • Definitions, which model business processes and provide for the proposed system’s template
  • Tasks, which describe the activities that users or other related systems will perform in conjunction with the proposed system
  • Data objects, which describe the communication objects, for instance, documents and information
  • Procedures, which define the sequences through which the system’s users will interact with the data objects
  • Data flow, which describes how the system’s actors will interact with the system’s data objects when carrying out tasks

Nevertheless, current business requirements change over time; therefore, a static workflow engine would not serve the extra demands that advanced information technology exerts on manufacturing processes [2]. As a result, the workflow engine approach that this thesis proposes better matches what Guerrero-García terms as “evolutionary prototyping” (89) in software development.
Accordingly, the prototype should adapt to the design requirements. That is, the design phase should reiterate over the changing requirements of previous phases. It also suggests that the initial prototype should give more attention to the general design of the real-life process, but gradually consider the input from multiple process factors in order to generate a working model rapidly. Furthermore, the workflow engine should avoid “large upfront requirements and design processes in favor of an incremental, evolutionary process” [3].

Research Approach

The research methodology that this thesis employs borrows from the engineering principle of prototype development, with continuous periodic testing to determine whether the workflow engine adapts to the ad-hoc environment of a manufacturing plant [2]. Furthermore, it employs an evidenced-based research approach to establishing what existing literature concludes about “adaptive workflow systems” [1]. The study relied on literature from peer-reviewed journal articles written between 2010 and 2014. The peer-review and time of publishing ensured that the thesis borrowed from established studies, and more importantly that their arguments mirrored current developments in the workflow-engine development field. In addition, the thesis’ research relied on engineering and computer science-related databases; for instance, ScienceDirect, Computers & Applied Sciences Complete and IEEE Explore.

You can order a similar but unique paper from our custom paper writing service and secure yourself a high grade. HandMadeWritings is the top spot to buy research paper, term paper, essay, or even dissertation.

Literature Review

Ye, Li, Yu et al argue that for a workflow engine to achieve adaptability, its components should feature “low coupling and high cohesion” [4]. Therefore, although the various components should accept and produce inputs and outputs from other parts, respectively – their functions should hide as much information as possible from the other related components to allow the developer(s) to modify it without excessive consequences to the system as a whole (see Appendix A – A low-coupled workflow engine model).
On the other hand, Czarnul argues that a workflow engine should account for high numbers of processing threads and resource (for example, storage facilities) limitations for it to serve an intensive processing environment; and a result, reduce the risk of putting crucial tasks on hold for unacceptable delays. He states, if “more processors/cores are available, several service instances may be executed in parallel, but must still observe the storage limitations” [5]. As a result, the proposed system should feature a scheduling mechanism to allow for concurrent processing capability, which is important for a manufacturing plant scenario, where rapid changes in operating conditions could lead to dangerous situations, if not attended to in a timely manner (see Figure1: Multithread Processing).
Chen, et al, however, argue that in cases where the development of a new workflow engine causes a massive deployment of resources that a business may not afford, the re-engineering approach may save on expenses while introducing an adaptable system. They argue that in such cases “reverse engineering rather than the forward engineering” [6] may be the only solution. As a result, they establish that existing workflow management systems justify adaptation because the rapid change of business processes in the current economic competitiveness could lead to loss of integrated operations because of the static nature of conventional systems.

Use Case Analysis

According to the proposed system, factory workers should have mobile devices (for example, smartphones) that have the capability to interact with the main system via the corresponding mobile applications (apps). As a result, there are five major actors. That is, (1) the worker; (2) sensor; (3) middleware; (4) actuator and (5) remote client.
The workflow engine actualizes when a worker installs the corresponding app in his or her smartphone. The workflow process, however, initializes when the worker runs the app. When the corresponding sensors and actuators interact with the agents in the environment (for example, by sensing high levels of heat) it triggers the enactment of the workflow. Subsequently, the interactions between the various actors lead to a trigger of the consequent actions. If, for instance, the sensors note that the workers are operating in an overly hot environment, it could send messages to all workers and initiate an adaptation of the climate system; hence, reducing the chances of fainting, which might lead to injuries and fatalities in case the affected worker was operating a machine.

User Requirements

For the proposed system to serve an ad-hoc environment, it should receive inputs from the environment (via sensors or workers) before using the pre-defined procedures to initiate action in corresponding sections of the workflow. Furthermore, it should be able to create a log of its outputs and reactions in a persistent store, in order to generate reports that would be useful for future data mining operations. On the other hand, the system’s outputs should have a level of complexity that is relevant to the manufacturing domain. That is, it should use metrics that are easily recognizable by the users. Subsequently, the friendly output would support fast decision-making. That would be in line with what Bergmann and Gil term as “the need to enable non-IT staff to create workflows and to control their execution” [7].

Design, Implementation and Testing

According to the proposed system, the workflow engine should have multiple installations. Those include the mobile deployments in the workers’ smartphones and desktop-based systems in the offices. The main system will have a graphical user interface (GUI) to interact with the end users, modules (to control and respond to various environmental conditions) and a persistent store to record a log of its activities. In addition, the system will interact with the peripherals (sensors and actuators) to influence the interactive contexts [8].
On the other hand, the workflow system’s testing and implementation will occur iteratively, where each module’s development predicates a testing regime, which indicates how it performs according to given constraints [9]. However, the system’s prototyping (according to the agile development approach) will require actual users to get a hands-on use of the completed modules.

Discussion

The research question asked if the workflow engine could factor in dynamic environmental changes, and in turn, improves safety. In turn, the proposed system considered the environmental context of a manufacturing plant to determine the factors that it would incorporate into its design. The major consideration was whether the actors and peripherals’ interaction could provide a system that was adaptable to a high-risk environment.
As a result, the system relied on the environmental context to inform the systems’ data fields. Furthermore, the system relied on the nodes of interaction between the various actors to define transaction exceptions. In a programming sense, the system defined subsequent actions depending on how the interactions between the actors played out. If a user, for instance, does not reply to any of the workflow engines dialog boxes, the system would throw a transaction exception; hence, preventing subsequent automatic response. The modular nature of the system reflects what Callaú and Tanter term as writing “ a procedure to address a given problem by relying on smaller auxiliary procedures that might not yet be implemented” [10].
However, consequent response patterns would enable the system to generate an automatic response system that takes place when there is a lapse of a pre-determined amount of time. To create a workflow engine that adapts to the ad-hoc environment, the system will create a database of common reactions that workers generate in given conditions. For instance, if the floor manager of the plant reacts to an increase in the temperature by instructing the system to reduce the climate control’s temperature to twenty-four degrees (240C), the system will learn to reduce the temperature to that level automatically, when the manager does not respond in a given amount of time.

Conclusion

Although the workflow engine’s development will consist of controlling simple scenarios, further development will lead to a large-scale deployment of an adaptive workflow system. It however requires continuous testing and factoring in of the end users’ experience with the system. Considering the information-technology (IT) sophistication levels of the users, the system would feature a simple interface that befits the contextual setting of the workers. Consequently, the system aims to produce a rapid response system for the challenges that face the environmental setup of a manufacturing plant.


Note that our company provides academic assistance. You can order a paper with our top-level paper writing service. HandMadeWritings is the ultimate essay writing service, there is no better place to buy essay online, term papers, research papers and dissertations.

Comments are closed.