Page 2 out of 24 total pages
Contents
Part 1: Using Ptolemy
1. Introduction
- 1.1. Modeling and Design
- 1.2. Architecture Design
- 1.3. Models of Computation
- 1.3.1. Communicating Sequential Processes - CSP
- 1.3.2. Continuous Time - CT
- 1.3.3. Discrete-Events - DE
- 1.3.4. Distributed Discrete Events - DDE
- 1.3.5. Discrete Time - DT
- 1.3.6. Finite-State Machines - FSM
- 1.3.7. Process Networks - PN
- 1.3.8. Synchronous Dataflow - SDF
- 1.3.9. Synchronous/Reactive - SR
- 1.4. Choosing Models of Computation
- 1.5. Visual Syntaxes
- 1.6. Ptolemy II
- 1.6.1. Package Structure
- 1.6.2. Overview of Key Classes
- 1.6.3. Domains
- 1.6.4. Capabilities
- 1.6.5. Future Capabilities
- Appendix: UML -- Unified Modeling Language
- Package Diagrams
- Static Structure Diagrams
- Appendix: Ptolemy II Naming Conventions
- Classes
- Members
- Methods
2. Building Models
- 2.1. Introduction
- 2.2. Applets
- 2.2.1. HTML Files Containing Applets
- 2.2.2. Creating Models
- 2.2.3. Compiling
- 2.2.4. Reporting Errors
- 2.2.5. Graphical Elements
- 2.2.6. Controlling Execution Time
- 2.2.7. Controlling Model Parameters
- 2.2.8. Adding Custom Actors
- 2.2.9. Using Jar Files
- 2.2.10. Script for Creating Demo Applets
- 2.2.11. Hints for Developing Applets
- Appendix: Inspection Paradox Example
- Description of the Problem
- Observations
- Code Listing
3. Actor Libraries
- 3.1. Overview
- 3.2. Library Organization
- 3.2.1. Actor.Lib
- 3.2.2. Actor.GUI
- 3.3. Data Polymorphism
- 3.4. Domain Polymorphism
- 3.4.1. Iterations
- 3.4.2. Domains with Fixed Point Semantics
- 3.4.3. Actors with State
- 3.5. Descriptions of Libraries
- 3.5.1. Functional Actors
- 3.5.2. Polymorphic Sources
- 3.5.3. Polymorphic Sinks and Displays
- 3.5.4. Expression Actor
- 3.5.5. Other Actors
4. Designing Actors
- 4.1. Overview
- 4.2. Anatomy of an Actor
- 4.2.1. Ports
- 4.2.2. Parameters
- 4.2.3. Constructors
- 4.2.4. Cloning
- 4.3. Action Methods
- 4.3.1. Initialize
- 4.3.2. Prefire
- 4.3.3. Fire
- 4.3.4. Postfire
- 4.3.5. Wrapup
- 4.4. Time
- 4.5. Code Format
- 4.5.1. Indentation
- 4.5.2. Spaces
- 4.5.3. Comments
- 4.5.4. Names
- 4.5.5. Exceptions
- 4.5.6. Javadoc
- 4.5.7. Code Organization
Part 2: Software
5. The Kernel
- 5.1. Abstract Syntax
- 5.2. Non-Hierarchical Topologies
- 5.2.1. Links
- 5.2.2. Consistency
- 5.3. Support Classes
- 5.3.1. Containers
- 5.3.2. Name and Full Name
- 5.3.3. Workspace
- 5.3.4. Attributes
- 5.3.5. List Classes
- 5.4. Clustered Graphs
- 5.4.1. Abstraction
- 5.4.2. Level-Crossing Connections
- 5.4.3. Tunneling Entities
- 5.4.4. Description
- 5.4.5. Cloning
- 5.4.6. An Elaborate Example
- 5.5. Opaque Composite Entities
- 5.6. Concurrency
- 5.6.1. Limitations of Monitors
- 5.6.2. Read and Write Access Permissions for Workspace
- 5.6.3. Making a Workspace Read Only
- 5.7. Mutations
- 5.7.1. Change Requests
- 5.7.2. Managers and Listeners
- 5.8. Exceptions
- 5.8.1. Base Class
- 5.8.2. Less Severe Exceptions
- 5.8.3. More Severe Exceptions
6. Actor Package
- 6.1. Concurrent Computation
- 6.2. Message Passing
- 6.2.1. Data Transport
- 6.2.2. Example
- 6.2.3. Transparent Ports
- 6.2.4. Data Transfer in Various Models of Computation
- 6.2.5. Discussion of the Data Transfer Mechanism
- 6.3. Execution
- 6.3.1. Director
- 6.3.2. Manager
- 6.3.3. ExecutionListener
- 6.3.4. Mutations
- 6.3.5. Opaque Composite Actors
- 6.3.6. Scheduler and Process Support
7. Data Package
- 7.1. Introduction
- 7.2. Data Encapsulation
- 7.3. Polymorphism
- 7.3.1. Polymorphic Arithmetic Operators
- 7.3.2. Lossless Type Conversion
- 7.3.3. Limitations
- 7.4. Variables and Parameters
- 7.4.1. Values
- 7.4.2. Types
- 7.4.3. Dependencies
- 7.5. Expressions
- 7.5.1. The Ptolemy II Expression Language
- 7.5.2. Functions
- 7.5.3. Limitations
- Appendix: Expression Evaluation
- Generating the parse tree
- Evaluating the parse tree
8. Graph Package
- 8.1. Introduction
- 8.2. Classes and Interfaces in the Graph Package
- 8.2.1. Graph
- 8.2.2. Directed Graphs
- 8.2.3. Directed Acyclic Graphs and CPO
- 8.2.4. Inequality Terms, Inequalities, and the Inequality Solver
- 8.3. Example Use
- 8.3.1. Generating A Schedule for A Composite Actor
- 8.3.2. Forming and Solving Constraints over a CPO
9. Type System
- 9.1. Introduction
- 9.2. Formulation
- 9.2.1. Type Constraints
- 9.2.2. Run-time Type Checking and Lossless Type Conversion
- 9.3. Implementation Classes
- 9.3.1. Static Type Checking and Type Resolution
- 9.3.2. Run-time Type Checking and Type Conversion
- 9.4. Examples
- 9.4.1. Polymorphic Downsampler
- 9.4.2. Fork Connection
- 9.4.3. A Sampler System
- Appendix: The Type Resolution Algorithm
10. Plot Package
- 10.1. Overview
- 10.2. User Interface
- 10.3. File Format
- 10.3.1. Commands Configuring the Axes
- 10.3.2. Commands for Plotting Data
- 10.4. Exporting
- 10.5. Limitations
Part 3:
11. CT Domain
- 11.1. Introduction
- 11.1.1. Basic Terminology
- 11.1.2. Time
- 11.1.3. Fixed-Point Behavior
- 11.1.4. Discontinuity
- 11.2. System Specification
- 11.2.1. An Example
- 11.3. CT Actors
- 11.3.1. Integrator and ODE Solvers
- 11.3.2. Actor Library
- 11.3.3. Domain Polymorphic Actors
- 11.4. CT Directors
- 11.4.1. CT Director Parameters
- 11.4.2. CTSingleSolverDirector
- 11.4.3. CTMultiSolverDirector
- 11.4.4. CTMixedSignalDirector
- 11.4.5. CTEmbeddedDirector
- 11.5. CT Domain Demos
- 11.5.1. Lorenz System
- 11.5.2. Micro Accelerator with Digital Feedback.
- 11.5.3. Thermostat System
- 11.6. Implementations
- 11.7. Technical Details
- 11.7.1. Scheduling
- 11.7.2. Controlling Step Sizes
- 11.7.3. Interaction with other domains
- Appendix: Brief Mathematical Background
12. DE Domain
- 12.1. Introduction
- 12.1.1. Model Time
- 12.1.2. Iteration
- 12.1.3. Getting a Model Started
- 12.1.4. Stopping Execution
- 12.2. Overview of The Software Architecture
- 12.3. The DE Actor Library
- 12.4. Mutations
- 12.5. Writing DE Actors
- 12.5.1. General Guidelines
- 12.5.2. Simultaneous Events
- 12.5.3. Examples
- 12.5.4. Thread Actors
- 12.6. Composing DE with Other Domains
- 12.6.1. DE inside Another Domain
- 12.6.2. Another Domain inside DE
13. SDF Domain
- 13.1. Overview
- 13.1.1. Properties
- 13.1.2. Scheduling
- 13.2. Kernel
- 13.2.1. SDF Director
- 13.2.2. Scheduling
- 13.2.3. SDF ports and receivers
- 13.2.4. ArrayFIFOQueue
- 13.2.5. SDFAtomicActor
14. CSP Domain
- 14.1. Introduction
- 14.2. CSP Communication Semantics
- 14.2.1. Atomic Communication: Rendezvous
- 14.2.2. Choice: Nondeterministic Rendezvous
- 14.2.3. Deadlock
- 14.2.4. Time
- 14.2.5. Differences from Original CSP Model as Proposed by Hoare
- 14.3. Example CSP Applications
- 14.3.1. Dining Philosophers
- 14.3.2. Hardware Bus Contention
- 14.3.3. Sieve of Eratosthenes
- 14.3.4. An M/M/1 Queue
- 14.4. Building CSP Applications
- 14.4.1. Rendezvous
- 14.4.2. Conditional Communication Constructs
- 14.4.3. Time
- 14.5. The CSP Software Architecture
- 14.5.1. Class Structure
- 14.5.2. Starting the model
- 14.5.3. Detecting deadlocks:
- 14.5.4. Terminating the model
- 14.5.5. Pausing/Resuming the Model
- 14.6. Technical Details
- 14.6.1. Brief Introduction to Threads in Java
- 14.6.2. Rendezvous Algorithm
- 14.6.3. Conditional Communication Algorithm
- 14.6.4. Modification of Rendezvous Algorithm
15. DDE Domain
- 15.1. Introduction
- 15.2. DDE Semantics
- 15.2.1. Enabling Communication: Advancing Time
- 15.2.2. Maintaining Communication: Null Tokens
- 15.2.3. Alternative Distributed Discrete Event Methods
- 15.3. Example DDE Applications
- 15.4. Building DDE Applications
- 15.4.1. DDEActor
- 15.4.2. DDEIOPort
- 15.4.3. Feedback Topologies
- 15.5. The DDE Software Architecture
- 15.5.1. Local Time Management
- 15.5.2. Detecting Deadlock
- 15.5.3. Ending Execution
- 15.6. Technical Details
- 15.6.1. Synchronization Hierarchy
16. PN Domain
- 16.1. Introduction
- 16.2. Process Network Semantics
- 16.2.1. Asynchronous Communication
- 16.2.2. Bounded Memory Execution
- 16.2.3. Time
- 16.2.4. Mutations
- 16.3. The PN Software Architecture
- 16.3.1. PN Domain
- 16.3.2. The Execution Sequence
- 16.3.3. Detecting deadlocks:
- 16.3.4. Terminating the model:
- 16.3.5. Mutations of a Graph
- 16.4. Technical Details
- 16.4.1. Mutual Exclusion using Monitors
- 16.4.2. Hierarchy of Locks
- 16.4.3. Undetected Deadlocks
References
Glossary
Index
Page 2 out of 24 total pages
ptII at eecs berkeley edu
Copyright © 1998-1999, The Regents of the University of California. All rights
reserved.