ISBN 9788120331709,Software Abstractions: Logic, Language, And Analysis

Software Abstractions: Logic, Language, And Analysis



Phi Learning Private Ltd

Publication Year 2009

ISBN 9788120331709

ISBN-10 8120331702


Number of Pages 368 Pages
Language (English)

Computer Engineering

Any system build on flawed concepts makes it clumsy and hard to make even simplest of changes to repair the damage done. The author begins the book with the statement ???Software is built on abstractions. Pick the right ones and programming will flow from design; modules will have small and simple interfaces; and new functionality will more likely fit in without extensive organization.??? Basically, an abstraction is an idea reduced to its essential form. The author introduces the key elements of the approach: a logic, which provides the building blocks of the language; a language, which adds a small amount of syntax to the logic for structuring descriptions; and an analysis, which is a form of constraint solving, and it offers both simulation (generating sample states and executions) and checking (finding counterexamples to claimed properties). The author uses the language Alloy as a vehicle because of its simplicity and tool support; but the book???s lessons are mostly language-independent, and could also be applied in the context of other modeling languages. Table of Contents Preface Acknowledgments 1. Introduction 2. A Whirlwind Tour 3. Logic 4. Language 5. Analysis 6. Examples Appendices A. Exercises B. Alloy Language Reference C. Kernel Semantics D. Diagrammatic Notation E. Alternative Approaches References Index