An Introduction to Program and Thread Algebra
نویسندگان
چکیده
We provide an introduction to Program Algebra (PGA, an algebraic approach to the modeling of sequential programming) and to Thread Algebra (TA). PGA is used as a basis for several lowand higher-level programming languages. As an example we consider a simple language with goto’s. Threads in TA model the execution of programs. Threads may be composed with services which model (part of) the execution environment, such as a stack. Finally, we discuss briefly the expressiveness of PGA and allude to current work on multithreading and security hazard risk assessment.
منابع مشابه
Thread Algebra and Risk Assessment Services
Threads as contained in a thread algebra emerge from the behavioral abstraction from programs in an appropriate program algebra. Threads may makeion from programs in an appropriate program algebra. Threads may make use of services such as stacks, and a thread using a single stack is called a pushdown thread. Equivalence of pushdown threads is decidable. Using this decidability result, an altern...
متن کاملThread algebra for sequential poly-threading
Threads as considered in basic thread algebra are primarily looked upon as behaviours exhibited by sequential programs on execution. It is a fact of life that sequential programs are often fragmented. Consequently, fragmented program behaviours are frequently found. In this paper, we consider this phenomenon. We extend basic thread algebra with the barest mechanism for sequencing of threads tha...
متن کاملFormalizing SANE Virtual Processor in Thread Algebra
The SANE Virtual Processor (SVP) is a fine-grain, threadbased model of concurrent program composition developed and used at the University of Amsterdam as a basis for designing and programming many-core chips. Its design goal was to support dynamic concurrency and hence support self-adaptive systems within the AETHER collaborative European project. It provides an effective solution for programm...
متن کاملAn Instruction Sequence Semigroup with Involutive Anti-Automorphisms
We introduce an algebra of instruction sequences by presenting a semigroup C in which programs can be represented without directional bias: in terms of the next instruction to be executed, C has both forward and backward instructions and a C-expression can be interpreted starting from any instruction. We provide equations for thread extraction, i.e., C’s program semantics. Then we consider thre...
متن کامل