ABSTRACT

This chapter describes the foundation of real-time concurrent programming theory by introducing what is probably its most central concept, that is, the definition of process as the abstraction of an executing program. This definition is also useful to clearly distinguish between sequentialand concurrent programming, and to highlight the pitfalls of the latter. The chapter introduces the concept of process. A process is an abstraction of an executing program and encompasses not only the program itself, which is a static entity, but also the state information that fully characterizes execution. Its main purpose is to define and represent the different states a process may be in during its lifetime. Moreover, it also formalizes the rules that govern the transition of a process from one state to another. The chapter discusses the idea of having more than one execution flow within the same process, called multithreading,.