Architecture of Generated C Code : Tasks View of the Code

Tasks View of the Code

One of the major issues that confuse many users is how concurrent activities and states are actually translated into a sequential language. Concurrency within the languages of Rational Statemate is represented explicitly between orthogonal states (AND states), and implicitly between separate (concurrent) activities. Sometimes it is natural to implement them as different threads (tasks), but it is also possible to implement them as a single threaded program.

Writing an application as a single thread or multi-threaded is actually a design decision. Since the underlying architecture is sequential, a multi-threaded program is actually a set of sequential pieces managed by a sequential scheduler.