# Investigation of Microservice-Based Workflow Management Solutions for Industrial Automation
## 3 Challenges and Requirements Set by the Industry for the Workflow Lifecycle
### Requirements for Workflow Generation  
Workflow generation is the phase of the lifecycle where the workflow is composed of the tasks required to achieve the desired output. Three main challenges are identified at this stage. **Challenge 1. Workflow modeling**: Architectural design and workflow representation are the main concerns in this stage. Workflow modeling describes the logical model used to represent workflows and considers architectural constraints. Different languages are used to represent workflows and accommodate their design and architectural elements. According to [49], the requirements related to workflow representation are as follows:  
* **Fit for collaborative context**: The workflow language must provide standardized syntax and semantics for workflows in collaborative contexts. This includes utilities to generate and manage workflows or represent partial workflows. * **Fit for generation**: A workflow language must support the generation of workflows by providing components built with character-encoding standards without visual representation data. The language should offer these components in an order-independent manner that enables workflow composition. * **Compactness**: A workflow language must represent the specifications of all the essential components and their attributes as well as the details of a workflow. Other components and details, such as information related to the graphical model display for humans or similar data, are optional. * **Compositionality**: The workflow language must uniquely identify each workflow and enable referencing from other workflows. References to other workflows substitute actions built with components, thus providing references to sub-workflows. * **Open semantics**: The workflow language must provide components that represent domain- and activity-specific information. The syntax of these elements is not defined by the workflow language syntax specification. Figure 3: Workflow lifecycle phases and their internal challenges. * **Extensibility**: The workflow language should be capable of being enhanced with constructs that extend the workflow syntax with optional components, elements, and values. For example, modules containing policies or quality of service definitions may be used to augment the syntax. The sequence structure selected by a company conditions the language and tools to represent a workflow. Workflow recipes can be formalized into business processes that contain composable tasks [33]. The languages used to create formal workflows are BPMN, Business Process Execution Language (BPEL), state machines, petri nets, Yet Another Workflow Language (YAWL), etc. [53]. Moreover, the Object Management Group (OMG) ratified BPMN as the standard language for the design of business processes [54]. **Challenge 2. Heterogeneous infrastructure scale**[55]: This is an architectural challenge where designers must decide regarding the right level of aggregation/abstraction to compose workflows, considering the unit of execution decreases in edge environments, but interaction with the central cloud orchestrator systems is required. The architecture must support scalability by aggregating functionality in sub-workflows (e.g., using hierarchical models). At the same time, designers will require the abstract representation of units to cope with many similar devices performing detail-specific functionality. This architecture comprises numerous devices at the cloud and fog levels, where scalability is essential and data become a key factor for achieving workflow objectives [56]. The alternatives for this challenge must consider centralized or decentralized orchestration, PLM-based or smart product, and the level of deployment of workflow manager (cloud, plant, workstation, etc.). **Chaining data from heterogeneous functions**: Compared to the standard cloud model, where data are stored at a central point, in an IoT architecture, the cloud and fog devices operate together. Thus, the physical location and heterogeneity of information become an additional challenge [57].