By Jayadev Misra
During this ebook, a programming version is built that addresses the basic problems with 'large-scale programming'. The method unifies numerous techniques from database conception, object-oriented programming and designs of reactive platforms. The version and the linked conception has been christened "Seuss." the most important target of Seuss is to simplify multiprogramming. To this finish, the fear of concurrent implementation is separated from the middle software layout challenge. A software execution is known as a unmarried thread of keep watch over - sequential executions of activities which are selected based on a few scheduling coverage. as a result, it really is attainable to cause in regards to the homes of a application from its unmarried execution thread.
Read or Download A Discipline of Multiprogramming: Programming Theory for Distributed Applications (Monographs in Computer Science) PDF
Similar computer science books
This hugely expected revision builds upon the strengths of the former version. Sipser's candid, crystal-clear variety permits scholars at each point to appreciate and revel in this box. His leading edge "proof idea" sections clarify profound thoughts in simple English. the hot variation accommodates many advancements scholars and professors have steered through the years, and provides up to date, classroom-tested challenge units on the finish of every bankruptcy.
Sensible programming is rooted in lambda calculus, which constitutes the world's smallest programming language. This well-respected textual content deals an obtainable creation to practical programming ideas and methods for college students of arithmetic and machine technological know-how. The remedy is as nontechnical as attainable, and it assumes no past wisdom of arithmetic or sensible programming.
Explores simple thoughts of theoretical laptop technology and exhibits how they follow to present programming perform. assurance levels from classical issues, resembling formal languages, automata, and compatibility, to formal semantics, types for concurrent computation, and software semantics.
A presentation of genuine examples of commercial makes use of for formal equipment resembling SCADE, the B-Method, ControlBuild, Matelo, and so forth. in a variety of fields, equivalent to railways, aeronautics, and the automobile undefined, the aim of this ebook is to give a precis of expertise at the use of those “formal equipment” (such as facts and model-checking) in commercial examples of advanced platforms.
Extra info for A Discipline of Multiprogramming: Programming Theory for Distributed Applications (Monographs in Computer Science)
We describe the general programming model in chapter 3 and a logic for it in chapter 12. J. Misra, A Discipline of Multiprogramming © Springer Science+Business Media New York 2001 14 2. 1 An Informal View of Action Systems An action system, often called a state transition system, is a program that consists of a set of objects and shared (global) variables. Each object may have local variables. The program state is given by the values of its variables, local and global. Each object has one or more actions that may change the program state.
4 Multiple alternatives Each alternative in a partial procedure is positive or negative: the first alternative is always positive; an alternative preceded by I is positive and one preceded by %is negative. , the pre-conditions of the alternatives are pairwise disjoint. The programmer must ensure that a negative alternative never modifies the value of any argument of its call. 3. In short, a procedure none of whose alternatives has a true pre-condition rejects the call. If an alternative has a true pre-condition (there can be at most one, because the alternatives have disjoint pre-conditions), then its pre-procedure is called; if the pre-procedure rejects, the alternative (and this procedure) rejects; and if the pre-procedure accepts, the body of the alternative is executed.
The shared variables in this example are channels. A channel is an unbounded sequence; an empty channel is denoted by the empty sequence, (). Sending value x along channel c has the same effect as 24 2. Action Systems c:= c * * x where is the concatenation operator. tail In this example, some external box appends values to the input channels, and box Merge, shown below, removes values from these channels. Dually, Merge appends values to the output channel, and some external box receives those values.