Guideline: Task Identification Strategies
There are a number of ways to identify concurrency units, depending on what aspects of the system are present and what optimizations are most important.
Relationships
Main Description

There are many different strategies that can be used to identify concurrency units (tasks) for a system design. Some of the common ones are shown below.

Task Identification Strategies
Strategy Description
Single event groups For simple systems, you can define a thread for each event type
Event source Group all events from a single source and handle them with a single task
Related information Processing data related to a common purpose
Independent processing needs When actions can be clustered into action sequences in which the order within the sequences is important but the order between sequences is not, these suggest tasks
Interface devices A kind of event source, but very common in real-time and embedded systems, you can group events together from an external interface device (e.g. bus interface or user interface)
Event properties Group together events with a common period or aperiodic characteristics. This is demonstrable optimal in terms of task scheduleability in a priority-based multitasking system.
Target objects processing The opposite of "event source", this groups together events related to a target object
Safety processing In safety-critical systems, it is common to add additional tasks such as Built In Test (BIT) and watchdog tasks