Specifying Systems The TLA+ Language and Tools for Hardware and Software Engineers

ISBN-10: 032114306X

ISBN-13: 9780321143068

Edition: 2003

Authors: Leslie Lamport
List price: $44.99 Buy it from $43.24
This item qualifies for FREE shipping

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy

Description: This book is the distillation of over 25 years of work by one of the world's most renowned computer scientists. A specification is a written description of what a system is supposed to do, plus a way of checking to make sure that it works. Specifying a system helps us understand it. It's a good idea to understand a system before building it, so it's a good idea to write a specification of a system before implementing it. The most effective tool to describe a specification is the Temporal Logic of Actions, or TLA, because it provides a mathematical, i.e. precise, foundation for describing systems. TLA+ is the language the author developed to write the mathematical specifications. TLA+ is available freely on the web. It can be used for both software and hardware. In fact, Intel is using TLA+ with great success in the design of a new chip. The book is divided into four parts. The first part contains all that most programmers and engineers need to know about writing specifications. The second part contains more advanced material for more sophisticated readers. The third and fourth parts comprise a reference manual for TLA+ - both the language itself as well as its tools.

New Starting from $43.24
what's this?
Rush Rewards U
Members Receive:
coins
coins
You have reached 400 XP and carrot coins. That is the daily max!

Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
Calculus 1 Online content $4.95 $1.99
Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99

Customers also bought

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

Book details

List price: $44.99
Copyright year: 2003
Publisher: Addison Wesley Professional
Publication date: 7/19/2002
Binding: Paperback
Pages: 384
Size: 7.30" wide x 9.10" long x 0.90" tall
Weight: 1.716

List of Figures and Tables
Acknowledgments
Introduction
Getting Started
A Little Simple Math
Propositional Logic
Sets
Predicate Logic
Formulas and Language
Specifying a Simple Clock
Behaviors
An Hour Clock
A Closer Look at the Specification
The Specification in TLA+
An Alternative Specification
An Asynchronous Interface
The First Specification
Another Specification
Types: A Reminder
Definitions
Comments
A Fifo
The Inner Specification
Instantiation Examined
Instantiation Is Substitution
Parametrized Instantiation
Implicit Substitutions
Instantiation Without Renaming
Hiding the Queue
A Bounded FIFO
What We're Specifying
A Caching Memory
The Memory Interface
Functions
A Linearizable Memory
Tuples as Functions
Recursive Function Definitions
A Write-Through Cache
Invariance
Proving Implementation
Some More Math
Sets
Silly Expressions
Recursion Revisited
Functions versus Operators
Using Functions
Choose
Writing a Specification: Some Advice
Why Specify
What to Specify
The Grain of Atomicity
The Data Structures
Writing the Specification
Some Further Hints
When and How to Specify
More Advanced Topics
Liveness and Fairness
Temporal Formulas
Temporal Tautologies
Temporal Proof Rules
Weak Fairness
The Memory Specification
The Liveness Requirement
Another Way to Write It
A Generalization
Strong Fairness
The Write-Through Cache
Quantification
Temporal Logic Examined
A Review
Machine Closure
Machine Closure and Possibility
Refinement Mappings and Fairness
The Unimportance of Liveness
Temporal Logic Considered Confusing
Real Time
The Hour Clock Revisited
Real-Time Specifications in General
A Real-Time Caching Memory
Zeno Specifications
Hybrid System Specifications
Remarks on Real Time
Composing Specifications
Composing Two Specifications
Composing Many Specifications
The FIFO
Composition with Shared State
Explicit State Changes
Composition with Joint Actions
A Brief Review
A Taxonomy of Composition
Interleaving Reconsidered
Joint Actions Reconsidered
Liveness and Hiding
Liveness and Machine Closure
Hiding
Open-System Specifications
Interface Refinement
A Binary Hour Clock
Refining a Channel
Interface Refinement in General
Open-System Specifications
Should You Compose?
Advanced Examples
Specifying Data Structures
Local Definitions
Graphs
Solving Differential Equations
BNF Grammars
Other Memory Specifications
The Interface
The Correctness Condition
A Serial Memory
A Sequentially Consistent Memory
The Memory Specifications Considered
The Tools
The Syntactic Analyzer
The TLATEX Typesetter
Introduction
Comment Shading
How It Typesets the Specification
How It Typesets Comments
Adjusting the Output Format
Output Files
Trouble-Shooting
Using LATEX Commands
The TLC Model Checker
Introduction to TLC
What TLC Can Cope With
TLC Values
How TLC Evaluates Expressions
Assignment and Replacement
Evaluating Temporal Formulas
Overriding Modules
How TLC Computes States
How TLC Checks Properties
Model-Checking Mode
Simulation Mode
Views and Fingerprints
Taking Advantage of Symmetry
Limitations of Liveness Checking
The TLC Module
How to Use TLC
Running TLC
Debugging a Specification
Hints on Using TLC Effectively
What TLC Doesn't Do
The Fine Print
The Grammar of the Configuration File
Comparable TLC Values
The TLA[superscript +] Language
Mini-Manual
The Syntax of TLA[superscript +]
The Simple Grammar
The Complete Grammar
Precedence and Associativity
Alignment
Comments
Temporal Formulas
Two Anomalies
The Lexemes of TLA[superscript +]
The Operators of TLA[superscript +]
Constant Operators
Boolean Operators
The Choose Operator
Interpretations of Boolean Operators
Conditional Constructs
The Let/In Construct
The Operators of Set Theory
Functions
Records
Tuples
Strings
Numbers
Nonconstant Operators
Basic Constant Expressions
The Meaning of a State Function
Action Operators
Temporal Operators
The Meaning of a Module
Operators and Expressions
The Arity and Order of an Operator
[lambda] Expressions
Simplifying Operator Application
Expressions
Levels
Contexts
The Meaning of a [lambda] Expression
The Meaning of a Module
Extends
Declarations
Operator Definitions
Function Definitions
Instantiation
Theorems and Assumptions
Submodules
Correctness of a Module
Finding Modules
The Semanties of Instantiation
The Standard Modules
Module Sequences
Module FiniteSets
Module Bags
The Numbers Modules
×
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.

×