DESIGNING MULTITHREADED SOFTWARE BASED ON CONCURRENCY IN THE PROBLEM DOMAIN
Abstract
Event-sequence modeling is a thread-architectural style for event-driven software. It bases the set of threads in a multithreaded program on an event-sequence model of the problem domain. Each event sequence is a time-ordered set of event occurrences in the domain. (It is often defined by a state machine.) An event-sequence model is a set of event sequences that together cover all relevant event occurrences in the domain. Occurrences in one event sequence are generally concurrent with those in other sequences. The event-sequence modeling approach leads to architectures consisting of threads, each based on an event sequence, and shared objects. The threads can run concurrently on different cores/processors except when they must have exclusive access to some shared object. This paper defines these concepts and illustrates them with examples.
Keywords:
concurrency, event-driven software, event sequence, reactive software, thread architecture, threadingDetails
- Issue
- Vol. 25 No. 2 (2021)
- Section
- Research article
- Published
- 2021-06-30
- DOI:
- https://doi.org/10.34808/tq2021/25.2/c
- Licencja:
-
This work is licensed under a Creative Commons Attribution 4.0 International License.