Cong Liu
Published: 2006
Total Pages: 224
Get eBook
The use of concurrent models has become a necessity in embedded system design. This trend is driven by the growing complexity and inherent multitasking of embedded systems. Describing a system as a set of concurrently executed, relatively simple subtasks is more natural than using a single, complicated task. Embedded systems, however, have limited resources. They often have a few processors. This implies that several software subtasks "programs" have to share a CPU. Compile-time scheduling determines a sequential execution order of the program statements that satisfies certain constraint, e.g. bounded memory usage, at compile time. We study compile-time schedulability of concurrent programs based on a Petri net model. We consider concurrent programs that asynchronously communicate with each other and the environment through unbounded first-in first-out "FIFO" buffers. The Petri net represents the control flow and communications of the programs, and models data dependent branches as non-deterministic free choices. A schedule of a Petri net represents a set of firing sequences that can be infinitely repeated within a bounded state space, regardless of the outcomes of the nondeterministic choices. Schedulability analysis for a given Petri net answers the question whether a valid schedule exists in the reachability space of this net. Due to the heuristics nature of existing scheduling algorithms, discovering powerful necessary condition for schedulability is important to gain efficiency in analysis. We propose a novel structural approach to schedulability analysis of Petri nets. Structural analysis often yields polynomial-time algorithms and is applicable for all initial states. We show that unschedulability can be caused by a structural relation among transitions modelling nondeterministic choices. Two methods for checking the existence of the relation are propo.