Contents
Introduction 1
-
1. Basic concepts, classes, and facilities
-
1.1 The C++ Subset Used In Ptolemy 1-1
-
1.2 Iterators 1-1
-
1.3 Non-class utility procedures 1-2
-
1.4 Generic Data Structures 1-3
-
1.5 Class SequentialList 1-3
-
SequentialList information functions 1-3
-
Functions that modify a SequentialList 1-3
-
Class ListIter 1-4
-
1.6 Doubly linked lists 1-4
-
Class DoubleLink 1-4
-
Class DoubleLinkList 1-5
-
Class DoubleLinkIter 1-6
-
1.7 Other generic container classes 1-7
-
Class Queue 1-7
-
Class Stack 1-7
-
1.8 Class NamedObj 1-7
-
NamedObj constructors and destructors 1-8
-
NamedObj public members 1-8
-
Flags on named objects 1-9
-
NamedObj protected members 1-10
-
1.9 Class NamedObjList 1-10
-
NamedObjList information functions 1-10
-
Other NamedObjList functions 1-10
-
NamedObjList iterators 1-11
-
1.10 Attributes 1-11
-
Attribute member functions 1-11
-
1.11 FlagArray 1-12
-
FlagArray constructors and destructor 1-12
-
FlagArray public methods 1-12
-
2. Support for multithreading
-
2.1 Class PtGate 2-1
-
2.2 Class CriticalSection 2-1
-
2.3 Class GateKeeper 2-2
-
2.4 Class KeptGate 2-3
-
3. Block and related classes
-
3.1 Class Block 3-1
-
Block constructors and destructors 3-1
-
Block public "information" members 3-1
-
Other Block public members 3-2
-
Block protected members 3-4
-
Block iterator classes 3-4
-
3.2 Class Star 3-4
-
Star public members 3-4
-
Star protected members 3-5
-
3.3 Class Galaxy 3-5
-
Galaxy public members 3-5
-
Galaxy protected members 3-6
-
Galaxy iterators 3-7
-
3.4 Class DynamicGalaxy 3-7
-
3.5 Class InterpGalaxy 3-7
-
Building structures with InterpGalaxy 3-8
-
Deleting InterpGalaxy structures 3-9
-
InterpGalaxy and cloning 3-10
-
Other InterpGalaxy functions 3-10
-
3.6 Class Runnable 3-10
-
3.7 Class Universe 3-11
-
3.8 Class InterpUniverse 3-11
-
4. Control of Execution and Error Reporting
-
4.1 Class Target 4-1
-
Target public members 4-1
-
Target protected members 4-4
-
4.2 Class Scheduler 4-5
-
Scheduler public members 4-6
-
Scheduler protected members 4-7
-
4.3 Class Error 4-7
-
4.4 Class SimControl 4-8
-
Access to SimControl status flags. 4-8
-
Pre-actions and Post-actions 4-9
-
SimControl interrupts and polling 4-9
-
5. Interfacing domains - wormholes and related classes
-
5.1 Class Wormhole 5-1
-
Wormhole public members 5-1
-
Wormhole protected members 5-2
-
5.2 Class EventHorizon 5-3
-
How EventHorizons are used 5-3
-
EventHorizon public members 5-3
-
EventHorizon protected members 5-4
-
5.3 Class ToEventHorizon 5-4
-
5.4 Class FromEventHorizon 5-5
-
5.5 Class WormMultiPort 5-5
-
6. Classes for connections between blocks
-
6.1 Class GenericPort 6-1
-
GenericPort query functions 6-1
-
Other GenericPort public members 6-3
-
GenericPort protected members 6-3
-
6.2 Class PortHole 6-3
-
PortHole public members 6-4
-
PortHole protected members 6-6
-
CircularBuffer - a class used to implement PortHole 6-7
-
6.3 Class MultiPortHole 6-8
-
MultiPortHole public members 6-8
-
MultiPortHole protected members 6-8
-
6.4 AutoFork and AutoForkNode 6-9
-
Class AutoFork 6-9
-
Class AutoForkNode 6-9
-
6.5 Class ParticleStack 6-10
-
6.6 Class Geodesic 6-10
-
Geodesic public members 6-11
-
Geodesic protected members 6-13
-
6.7 Class Plasma 6-13
-
6.8 Class ParticleQueue 6-14
-
6.9 Classes for Galaxy ports 6-15
-
6.10 The PortHole type resolution algorithm 6-15
-
6.11 Changes since Ptolemy0.6 6-18
-
7. Particles and Messages
-
7.1 Class Particle 7-1
-
7.2 Particle public members 7-1
-
7.3 Arithmetic Particle classes 7-2
-
7.4 The Heterogeneous Message Interface 7-2
-
Class Envelope 7-3
-
Class Message 7-4
-
Class MessageParticle 7-5
-
7.5 Example Message types 7-5
-
8. The incremental linker
-
8.1 ld -A style linking vs. dlopen() style linking 8-1
-
8.2 Temporary vs. Permanent Incremental Linking 8-1
-
8.3 Linker public members 8-2
-
8.4 Linker implementation 8-3
-
Shared Objects and dlopen() style linking 8-3
-
Porting the Dynamic Linking capability 8-3
-
ld -A Style Dynamic Linking 8-4
-
dlopen() Style Dynamic Linking 8-4
-
9. Parameters and States
-
9.1 Class State 9-1
-
State public members 9-1
-
The State parser and protected members 9-2
-
9.2 Types of states 9-5
-
Class IntState and class FloatState 9-5
-
Class ComplexState 9-5
-
Class StringState 9-5
-
Numeric array states 9-5
-
Class StringArrayState 9-6
-
10. Support for known lists and such
-
10.1 Class KnownBlock 10-1
-
10.2 Class KnownTarget 10-3
-
10.3 Class Domain 10-4
-
Domain virtual functions 10-4
-
10.4 Class KnownState 10-5
-
11. I/O classes
-
11.1 StringList, a kind of String class 11-1
-
StringList constructors and assignment operators 11-1
-
Adding to StringLists 11-1
-
StringList information functions 11-2
-
StringList conversion to const char * 11-2
-
StringList destruction and zeroing 11-2
-
Class StringListIter 11-3
-
11.2 InfString, a class supporting unbounded strings 11-3
-
InfString constructors and assignment operators 11-3
-
Adding to InfStrings 11-4
-
InfString information functions 11-4
-
InfString conversion to char * 11-4
-
InfString destruction and zeroing 11-4
-
Class InfStringIter 11-4
-
11.3 Tokenizer, a simple lexical analyzer class 11-5
-
Initializing Tokenizer objects 11-5
-
Reading from Tokenizers 11-5
-
Tokenizer include files 11-6
-
11.4 pt_ifstream and pt_ofstream: augmented fstream classes 11-6
-
11.5 XGraph, an interface to the xgraph program 11-7
-
11.6 Histogram classes 11-7
-
Class Histogram 11-8
-
Class XHistogram 11-8
-
12. Miscellaneous classes
-
12.1 Mathematical classes 12-1
-
Class Complex 12-1
-
class Fraction 12-2
-
12.2 Class IntervalList 12-2
-
class Interval and methods 12-2
-
IntervalList public members 12-3
-
IntervalList iterator classes. 12-4
-
12.3 Classes for interacting with the system clock 12-4
-
13. Overview of Parallel Code Generation
-
14. APEG generation
-
14.1 Class EGArc 13-1
-
14.2 Class EGGate 13-1
-
EGGate public members 13-1
-
Class EGGateList 13-3
-
14.3 Class EGNode 13-4
-
Other EGNode public members 13-4
-
EGNodeList 13-5
-
14.4 Class ExpandedGraph 13-5
-
Other ExpandedGraph public members 13-6
-
Iterators for ExpandedGraph 13-7
-
15. Parallel Schedulers
-
15.1 ParNode 15-1
-
ParNode protected members 15-1
-
Other ParNode public members 15-2
-
Iterators for ParNode 15-4
-
15.2 Class ParGraph 15-4
-
Other ParGraph protected members 15-5
-
Other ParGraph public members 15-5
-
Class NodePair 15-6
-
15.3 Class ParScheduler 15-6
-
compileRun method 15-7
-
Other ParScheduler protected members 15-8
-
Other ParScheduler public members 15-8
-
15.4 class ParProcessors 15-9
-
Other ParProcessors protected members 15-10
-
Other ParProcessors public members 15-10
-
15.5 UniProcessor 15-11
-
Class NodeSchedule 15-12
-
Members for scheduling 15-12
-
Sub-Universe creation 15-13
-
Members for code generation 15-15
-
Other UniProcessor protected members 15-16
-
Other UniProcessor public members 15-16
-
Iterator for UniProcessor 15-17
-
15.6 Dynamic Level Scheduler 15-17
-
15.7 Class DLGraph 15-17
-
15.8 class DLScheduler 15-18
-
15.9 Class DLParProcs 15-19
-
15.10 Hu Level Scheduler 15-20
-
Class HuNode 15-20
-
Class HuGraph 15-21
-
Class HuScheduler 15-21
-
Class HuParProcs 15-22
-
15.11 Declustering Scheduler 15-22
-
Class DCNode 15-24
-
Classes DCArc and DCArcList 15-25
-
Class DCGraph 15-26
-
Class DCCluster 15-27
-
Class DCClusterList 15-29
-
Class DCClustArc and class DCClustArcList 15-30
-
Class DCParProcs 15-30
-
16. Base Code Generation Domain and Supporting Classes
-
16.1 Class CodeStream 16-1
-
Class NamedList 16-3
-
16.2 Class CodeBlock and Macros 16-3
-
16.3 Class SymbolList and Unique Symbol Generation 16-5
-
16.4 Class CGGeodesic and Resource Management 16-8
-
16.5 Utility Functions 16-10
-
16.6 Class CGStar 16-10
-
CGStar Protected Methods and Members 16-10
-
CGStar Public Methods 16-11
-
16.7 Class CGPortHole 16-12
-
Buffer Management 16-12
-
Buffer Embedding 16-12
-
Geodesic Switching 16-13
-
Other CGPortHole Members 16-14
-
CGPortHole Derived Classes 16-14
-
17. Target
-
17.1 Class CGTarget 17-1
-
Other CGTarget protected members 17-5
-
Other CGTarget public members 17-5
-
Class HLLTarget 17-7
-
17.2 Multiprocessor Targets 17-7
-
Class MultiTarget 17-8
-
Class CGMultiTarget 17-10
-
Class CGSharedBus 17-14
-
17.3 Heterogeneous Support 17-15
-
18. CGC Domain
-
18.1 Buffer Allocation 18-1
-
Buffer requirement 18-2
-
Splice stars 18-4
-
Buffer naming 18-6
-
18.2 Data structure for galaxy and stars 18-7
-
Buffer initialization 18-8
-
18.3 CGC code streams 18-8
-
18.4 Other CGCPortHole members 18-9
-
18.5 Other CGCStar members 18-10
-
18.6 Other CGCTarget members 18-11
-
Other CGCTarget protected members 18-11
-
Other CGCTarget public members 18-12
-
18.7 Class CGCMultiTarget 18-13
-
CGCMultiTarget protected members 18-14
-
CGCMultiTarget public members 18-15
-
18.8 Status 18-15
-
18.9 References 18-16
Copyright © 1990-1997, University of California. All rights
reserved.