Member-only story

Building Better Concurrency, Finite State Processes, and Modeling Processes

Let’s build more robust concurrency systems

Asel Siriwardena
Better Programming
3 min readJan 6, 2021

--

State diagram generated by the LTSA tool
State diagram generated by the LTSA tool

Hello, I’m Asel. Today, I’m going to show you how to model a concurrent program using FSP by going through an example scenario.

What’s FSP?

Finite state processes (FSP) is an abstract language that’s used to develop concurrent systems of processes.

We use modeling to gain confidence in the adequacy and validity of a proposed design. As with most complex design tasks, concurrency is best understood by employing multiple levels of abstraction.

First, the functional requirements of the system must be well understood in terms of its desired behavior. Next, the possible roles for concurrency should be explored. This is best done using the abstraction of threads without committing to a particular implementation.

To the extent possible, the final selection of mechanisms for realizing the concurrency should remain open to allow for the fine-tuning of performance and the flexibility to distribute components differently for various product configurations.

Let’s Consider How to Describe Concurrent Processes Using a Process Algebra Called FSP

--

--

Asel Siriwardena
Asel Siriwardena

Written by Asel Siriwardena

Software Engineer | University of Westminster | Robert Gordon University

No responses yet

Write a response