A Discipline of Programming


Book Description

Executional abstraction; The role of programming languages; States and their characterization; The characterization of semantics; The semantic characterization of a programming language; Two theorems; On the design of properly terminating; Euclid's algorithm revisited; The formal treatment of some small examples; The linear search theorem; The problem of the next permutation.







A Discipline of Multiprogramming


Book Description

In this book, a programming model is developed that addresses the fundamental issues of 'large-scale programming'. The approach unifies several concepts from database theory, object-oriented programming and designs of reactive systems. The model and the associated theory has been christened "Seuss." The major goal of Seuss is to simplify multiprogramming. To this end, the concern of concurrent implementation is separated from the core program design problem. A program execution is understood as a single thread of control - sequential executions of actions that are chosen according to some scheduling policy. As a consequence, it is possible to reason about the properties of a program from its single execution thread.




Elements of Programming


Book Description

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.




Predicate Calculus and Program Semantics


Book Description

This booklet presents a reasonably self-contained theory of predicate trans former semantics. Predicate transformers were introduced by one of us (EWD) as a means for defining programming language semantics in a way that would directly support the systematic development of programs from their formal specifications. They met their original goal, but as time went on and program derivation became a more and more formal activity, their informal introduction and the fact that many of their properties had never been proved became more and more unsatisfactory. And so did the original exclusion of unbounded nondeterminacy. In 1982 we started to remedy these shortcomings. This little monograph is a result of that work. A possible -and even likely- criticism is that anyone sufficiently versed in lattice theory can easily derive all of our results himself. That criticism would be correct but somewhat beside the point. The first remark is that the average book on lattice theory is several times fatter (and probably less self contained) than this booklet. The second remark is that the predicate transformer semantics provided only one of the reasons for going through the pains of publication.




Structured Design


Book Description

Presents system and program design as a disciplined science.




The Discipline of Organizing: Professional Edition


Book Description

Note about this ebook: This ebook exploits many advanced capabilities with images, hypertext, and interactivity and is optimized for EPUB3-compliant book readers, especially Apple's iBooks and browser plugins. These features may not work on all ebook readers. We organize things. We organize information, information about things, and information about information. Organizing is a fundamental issue in many professional fields, but these fields have only limited agreement in how they approach problems of organizing and in what they seek as their solutions. The Discipline of Organizing synthesizes insights from library science, information science, computer science, cognitive science, systems analysis, business, and other disciplines to create an Organizing System for understanding organizing. This framework is robust and forward-looking, enabling effective sharing of insights and design patterns between disciplines that weren’t possible before. The Professional Edition includes new and revised content about the active resources of the "Internet of Things," and how the field of Information Architecture can be viewed as a subset of the discipline of organizing. You’ll find: 600 tagged endnotes that connect to one or more of the contributing disciplines Nearly 60 new pictures and illustrations Links to cross-references and external citations Interactive study guides to test on key points The Professional Edition is ideal for practitioners and as a primary or supplemental text for graduate courses on information organization, content and knowledge management, and digital collections. FOR INSTRUCTORS: Supplemental materials (lecture notes, assignments, exams, etc.) are available at http://disciplineoforganizing.org. FOR STUDENTS: Make sure this is the edition you want to buy. There's a newer one and maybe your instructor has adopted that one instead.




On a Method of Multiprogramming


Book Description

Here, the authors propose a method for the formal development of parallel programs - or multiprograms as they prefer to call them. They accomplish this with a minimum of formal gear, i.e. with the predicate calculus and the well- established theory of Owicki and Gries. They show that the Owicki/Gries theory can be effectively put to work for the formal development of multiprograms, regardless of whether these algorithms are distributed or not.







The Elements of Programming Style


Book Description

Covers Expression, Structure, Common Blunders, Documentation, & Structured Programming Techniques