Part I
Introduction
1 Overview
2 Motivation
2.1 Concurrency: A Pressing Need
2.2 Running Example
2.3 Difficult Concurrency-related Design Decisions
3 Getting Started
3.1 Panini’s Goals
3.2 Hello World!
3.3 Compiling and running Hello World!
3.4 Decomposing a Program into Capsules
3.5 Implicit Concurrency in Capsule-oriented Programs
4 Capsule-oriented Design
4.1 Asteroids in Panini
4.2 Architecture and Design
4.3 Implementation
4.4 Analysis of Benefits
4.5 Compiling and running Asteroids!
2 Motivation
2.1 Concurrency: A Pressing Need
2.2 Running Example
2.3 Difficult Concurrency-related Design Decisions
3 Getting Started
3.1 Panini’s Goals
3.2 Hello World!
3.3 Compiling and running Hello World!
3.4 Decomposing a Program into Capsules
3.5 Implicit Concurrency in Capsule-oriented Programs
4 Capsule-oriented Design
4.1 Asteroids in Panini
4.2 Architecture and Design
4.3 Implementation
4.4 Analysis of Benefits
4.5 Compiling and running Asteroids!