Prof. Dr. Cesare Pautasso

Decentralized Task Execution Patterns

Cesare Pautasso

10th Asian Conference on Pattern Languages of Programs, People, and Practices (AsianPLoP), Fujisawa City, Kanagawa Prefecture, Japan

March 2024

Abstract

Decentralized task execution requires to assign planning, execution and control roles and responsibilities to at least two distinct parties. These include making decisions about \textquoteleft\textquoteleftwho does what when\textquoteright\textquoteright so that one party can track the progress and the outcome of tasks executed by another party. In this paper we outline the design space for decentralized task execution by presenting 18 different patterns, going from imperative task execution all the way to autonomous task execution. We will distinguish how decisions about who performs a task, what needs to be done and when to do it can be made by different parties and how these alternative decision-making locations impact the interactions between the parties responsible to plan, execute and control the task execution. The patterns are applicable within human organizations with many actors delegating or performing multiple tasks but also to fully automated systems, e.g., distributed operating systems, intelligent autonomous vehicles, blockchain-based workflow engines or high throughput job schedulers.

Download

PDF: ▼asianplop2024.pdf (2MB)

Citation

Bibtex

@inproceedings{2024:asianplop,
	author = {Cesare Pautasso},
	title = {Decentralized Task Execution Patterns},
	booktitle = {10th Asian Conference on Pattern Languages of Programs, People, and Practices (AsianPLoP)},
	year = {2024},
	month = {March},
	address = {Fujisawa City, Kanagawa Prefecture, Japan},
	abstract = {Decentralized task execution requires to assign planning, execution and control roles and responsibilities to at least two distinct parties. These include making decisions about \textquoteleft\textquoteleftwho does what when\textquoteright\textquoteright so that one party can track the progress and the outcome of tasks executed by another party. In this paper we outline the design space for decentralized task execution by presenting 18 different patterns, going from imperative task execution all the way to autonomous task execution. We will distinguish how decisions about who performs a task, what needs to be done and when to do it can be made by different parties and how these alternative decision-making locations impact the interactions between the parties responsible to plan, execute and control the task execution. The patterns are applicable within human organizations with many actors delegating or performing multiple tasks but also to fully automated systems, e.g., distributed operating systems, intelligent autonomous vehicles, blockchain-based workflow engines or high throughput job schedulers.},
	keywords = {patterns, Workflow Management Systems, workflow patterns}
}