David Chaves-Fraga (Ontology Engineering Group - Universidad Politécnica de Madrid) Hu Peng (Huawei Research Ireland) Jhon Toledo (Ontology Engineering Group - Universidad Politécnica de Madrid) José Mora (Huawei Research Ireland) Julián Arenas-Guerrero (Ontology Engineering Group - Universidad Politécnica de Madrid) Mingxue Wang (Huawei Research Ireland) Nicholas Burrett (Huawei Research Ireland) Oscar Corcho (Ontology Engineering Group - Universidad Politécnica de Madrid) Puchao Zhang (Huawei Research Ireland) Raúl Alcázar (Ontology Engineering Group - Universidad Politécnica de Madrid) http://w3id.org/devops-infra/workflow Ontology for the representation of workflows in a DevOps environment http://w3id.org/devops-infra/workflow.owl 2021-06-02 https://creativecommons.org/licenses/by/4.0 devopswf http://w3id.org/devops-infra/workflow# This ontology defines the terms that can be used to represent the workflows (and their corresponding actions) that are commonly used in a DevOps environment, so as to provide support to tasks related to account management, patch upgrades, scaling up of services, service deployments, etc. This ontology is part of the devops-infra ontology network that has been created in the context of a collaboration between the Ontology Engineering Group at Universidad Politécnica de Madrid and Huawei Research Ireland First official release The type of a action that the task is performing, according to the corresponding SKOS Concept Scheme on task actions action A Workflow may consist of or make use of several other Workflows or Tasks consists Of A Workflow or a Task may have one or several input variables input A variable used as an input or output of a workflow or task may refer to any Configuration Item, as defined in the Devops-Infra ontology network (more specifically, in the core ontology) item This property points to the next direct workflow tasks to execute if the result of the execution of this task is completed, independently of whether it is successful or not on Complete This property points to the next direct workflow tasks to execute if the result of the execution of this task is erroneous on Error This property points to the next direct workflow tasks to execute if the result of the execution of this task is successfull on Success A Workflow or Task may have one or several output variables output A Workflow or Task may have one or several outputs that are generated when its execution generates an error output on error A reverse workflow task may require any number of other reverse workflow tasks to be completed requires Context in which the variable value is maintained. It may be global to the whole workflow execution or specific to an individual task or a set of tasks context Value or expression that allows obtaining the value during runtime for any variable that may act as input or output of a workflow or task value or expression A Direct Workflow consists of tasks combined in a graph where every next task starts after another one depending on produced result. So direct workflow has a notion of transition. Direct workflow is considered to be completed if there aren’t any transitions left that could be used to jump to next tasks. Direct Workflow A Task in a Direct Workflow, which may indicate the next tasks to be done once it is completed, with success or with errors Direct Workflow Task In reverse workflow all relationships in workflow task graph are dependencies. In order to run this type of workflow we need to specify a task that needs to be completed, it can be conventionally called ‘target task’. When a workflow engine starts a workflow it recursively identifies all the dependencies that need to be completed first. Reverse Workflow A task in a reverse workflow, which may indicate the tasks that are required to be finished before this one starts Reverse Workflow Task 1 Tasks define specific computational steps in a workflow. When the workflow engine processes entities described in the workflow text it schedules tasks for execution Task 1 1 A Variable may be used as an input or output of a Workflow or a Task. It is defined in a context, it has some value or can be described with an expression, and may refer to one or several Configuration Items Variable A Workflow is a process that can be described in a various number of ways and that can do some job interesting to the end user. Each workflow consists of tasks (at least one) describing what exact steps should be made during workflow execution. Workflow