Preface |
Introducing Vesta / Part I: |
Introduction / 1: |
Some Scenarios / 1.1: |
The Configuration Management Challenge / 1.2: |
The Vesta Response / 1.3: |
Essential Background / 2: |
The Unix File System / 2.1: |
Naming Files and Directories / 2.1.1: |
Mount Points / 2.1.2: |
Links / 2.1.3: |
Properties of Files / 2.1.4: |
Unix Processes / 2.2: |
The Unix Shell / 2.3: |
The Unix Programming Environment / 2.4: |
Make / 2.5: |
The Architecture of Vesta / 3: |
System Components / 3.1: |
Source Management Components / 3.1.1: |
Build Components / 3.1.2: |
Storage Components / 3.1.3: |
Models and Modularity / 3.1.4: |
Vesta's Core Properties / 3.2: |
The User's View of Vesta / Part II: |
Managing Sources and Versions / 4: |
Names and Versions / 4.1: |
The Source Name Space / 4.1.1: |
Versioning / 4.1.2: |
Naming Files and Packages / 4.1.3: |
The Development Cycle / 4.2: |
The Outer Loop / 4.2.1: |
The Inner Loop / 4.2.2: |
Detailed Operation of the Repository Tools / 4.2.3: |
Version Control Alternatives / 4.2.4: |
Additional Repository Tools / 4.2.5: |
Mutable Files and Directories / 4.2.6: |
Replication / 4.3: |
Global Name Space / 4.3.1: |
A Replication Example / 4.3.2: |
The Replicator / 4.3.3: |
Cross-Repository Check-out / 4.3.4: |
Repository Metadata / 4.4: |
Mutable Attributes / 4.4.1: |
Access Control / 4.4.2: |
Metadata and Replication / 4.4.3: |
System Description Language / 5: |
Motivation / 5.1: |
Language Highlights / 5.2: |
The Environment Parameter / 5.2.1: |
Bindings / 5.2.2: |
Tool Encapsulation / 5.2.3: |
Closures / 5.2.4: |
Imports / 5.2.5: |
Building Systems in Vesta / 6: |
The Organization of System Models / 6.1: |
Hierarchies of System Models / 6.2: |
Bridges and the Standard Environment / 6.2.1: |
Library Models / 6.2.2: |
Application Models / 6.2.3: |
Putting It All Together / 6.2.4: |
Control Panel Models / 6.2.5: |
Customizing the Build Process / 6.3: |
Handling Large Scale Software / 6.4: |
Inside Vesta / Part III: |
Inside the Repository / 7: |
Support for Evaluation and Caching / 7.1: |
Derived Files and Shortids / 7.1.1: |
Evaluator Directories and Volatile Directories / 7.1.2: |
Fingerprints / 7.1.3: |
Inside the Repository Implementation / 7.2: |
Directory Implementation / 7.2.1: |
Shortids and Files / 7.2.2: |
Longids / 7.2.3: |
Copy-on-Write / 7.2.4: |
NFS Interface / 7.2.5: |
RPC Interfaces / 7.2.6: |
Implementing Replication / 7.3: |
Mastership / 7.3.1: |
Agreement / 7.3.2: |
Agreement-Preserving Primitives / 7.3.3: |
Propagating Attributes / 7.3.4: |
Incremental Building / 8: |
Overview of Function Caching / 8.1: |
Caching and Dynamic Dependencies / 8.2: |
The Function Cache Interface / 8.3: |
Computing Fine-Grained Dependencies / 8.4: |
Representing Dependencies / 8.4.1: |
Caching External Tool Invocations / 8.4.2: |
Caching User-Defined Function Evaluations / 8.4.3: |
Caching System Model Evaluations: A Special Case / 8.4.4: |
Error Handling / 8.5: |
Function Cache Implementation / 8.6: |
Cache Lookup / 8.6.1: |
Cache Entry Storage / 8.6.2: |
Synchronization / 8.6.3: |
Evaluation and Caching in Action / 8.7: |
Scratch Build of the Standard Environment / 8.7.1: |
Scratch Build of the Vesta Umbrella Library / 8.7.2: |
Scratch and Incremental Builds of the Evaluator / 8.7.3: |
Weeder / 9: |
How Deletion is Specified / 9.1: |
Implementation of the Weeder / 9.2: |
The Function Call Graph / 9.2.1: |
Concurrent Weeding / 9.2.2: |
Assessing Vesta / Part IV: |
Competing Systems / 10: |
Loosely Connected Configuration Management Tools / 10.1: |
RCS / 10.1.1: |
CVS / 10.1.2: |
Integrated Configuration Management Systems / 10.1.3: |
DSEE / 10.2.1: |
ClearCASE / 10.2.2: |
Other Systems / 10.3: |
Vesta System Performance / 11: |
Platform Configuration / 11.1: |
Overall System Performance / 11.2: |
Performance Comparison with Make / 11.2.1: |
Performance Breakdown / 11.2.2: |
Caching Analysis / 11.2.3: |
Resource Usage / 11.2.4: |
Repository Performance / 11.3: |
Speed of File Operations / 11.3.1: |
Disk and Memory Consumption / 11.3.2: |
Speed of Repository Tools / 11.3.3: |
Speed of Cross-Repository Tools / 11.3.4: |
Speed of the Replicator / 11.3.5: |
Function Cache Performance / 11.4: |
Server Performance / 11.4.1: |
Measurements of the Stable Cache / 11.4.2: |
Disk and Memory Usage / 11.4.3: |
Function Cache Scalability / 11.4.4: |
Weeder Performance / 11.5: |
Interprocess Communication / 11.6: |
Conclusions / 12: |
Vesta in the Real World / 12.1: |
Vesta in the Future / 12.2: |
SDL Reference Manual / A: |
Lexical Conventions / A.1: |
Meta-notation / A.2.1: |
Terminals / A.2.2: |
Semantics / A.3: |
Value Space / A.3.1: |
Type Declarations / A.3.2: |
Evaluation Rules / A.3.3: |
Expr / A.3.3.1: |
Literal / A.3.3.2: |
Id / A.3.3.3: |
List / A.3.3.4: |
Binding / A.3.3.5: |
Select / A.3.3.6: |
Block / A.3.3.7: |
Stmt / A.3.3.8: |
Assign / A.3.3.9: |
Iterate / A.3.3.10: |
FuncDef / A.3.3.11: |
FuncCall / A.3.3.12: |
Model / A.3.3.13: |
Files / A.3.3.14: |
File Name Interpretation / A.3.3.15: |
Pragmas / A.3.3.17: |
Primitives / A.3.4: |
Functions on Type t_bool / A.3.4.1: |
Functions on Type t_int / A.3.4.2: |
Functions on Type t_text / A.3.4.3: |
Functions on Type t_list / A.3.4.4: |
Functions on Type t_binding / A.3.4.5: |
Special Purpose Functions / A.3.4.6: |
Type Manipulation Functions / A.3.4.7: |
Tool Invocation Function / A.3.4.8: |
Diagnostic Functions / A.3.4.9: |
Concrete Syntax / A.4: |
Grammar / A.4.1: |
Ambiguity Resolution / A.4.2: |
Tokens / A.4.3: |
Reserved Identifiers / A.4.4: |
The Vesta Web Site / B: |
References |
Index |
Preface |
Introducing Vesta / Part I: |
Introduction / 1: |
Some Scenarios / 1.1: |
The Configuration Management Challenge / 1.2: |
The Vesta Response / 1.3: |