|
Is It Time for Real-Time Functional Programming? |
|
|
1 | (18) |
|
|
1 | (1) |
|
What is Real-Time Programming? |
|
|
2 | (1) |
|
The Importance of Real-Time Systems |
|
|
2 | (1) |
|
Essential Properties of Real-Time Languages |
|
|
2 | (1) |
|
Languages for Programming Real-Time Systems |
|
|
3 | (4) |
|
Using General Purpose Languages for Real-Time Programming |
|
|
3 | (1) |
|
Domain-Specific Languages for Real-Time Programming |
|
|
4 | (1) |
|
Functional Language Approaches |
|
|
5 | (2) |
|
Bounding Time and Space Usage |
|
|
7 | (2) |
|
Real-Time Dynamic Memory Management |
|
|
7 | (1) |
|
Static Analyses for Bounding Memory Usage |
|
|
7 | (1) |
|
Worst Case Execution Time Analysis |
|
|
8 | (1) |
|
Syntactically Restricted Functional Languages |
|
|
9 | (1) |
|
Functional Languages for Related Problem Areas |
|
|
9 | (1) |
|
|
10 | (3) |
|
Real Time and Space Behaviour of FSM-Hume Programs |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
14 | (5) |
|
|
19 | (10) |
|
|
19 | (3) |
|
Single Box FSM-Hume Programs are Finite State |
|
|
22 | (1) |
|
Multi-Box FSM-Hume Programs are Finite State |
|
|
23 | (2) |
|
Example: Vehicle Simulation |
|
|
25 | (3) |
|
|
26 | (2) |
|
|
28 | (1) |
|
Camelot and Grail: Resource-Aware Functional Programming for the JVM |
|
|
29 | (18) |
|
|
29 | (1) |
|
|
30 | (5) |
|
Basic Features of Camelot |
|
|
31 | (1) |
|
Diamonds and Resource Control |
|
|
32 | (3) |
|
|
35 | (3) |
|
|
36 | (1) |
|
|
36 | (2) |
|
Compiling Camelot to Grail |
|
|
38 | (3) |
|
|
38 | (1) |
|
|
39 | (1) |
|
|
40 | (1) |
|
Compilation of Expressions |
|
|
41 | (1) |
|
|
41 | (3) |
|
|
44 | (3) |
|
O'Camelot: Adding Objects to a Resource-Aware Functional Language |
|
|
47 | (16) |
|
|
47 | (1) |
|
|
48 | (1) |
|
|
49 | (4) |
|
|
53 | (2) |
|
|
55 | (2) |
|
Objects and Resource Types |
|
|
57 | (1) |
|
|
58 | (1) |
|
|
59 | (4) |
|
Static Single Information from a Functional Perspective |
|
|
63 | (16) |
|
|
63 | (4) |
|
|
67 | (1) |
|
Static Single Information |
|
|
68 | (1) |
|
|
69 | (2) |
|
Optimistic versus Pessimistic |
|
|
71 | (1) |
|
Converting Functional Programs Back to SSI |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
74 | (5) |
|
Implementing Mobile Haskell |
|
|
79 | (16) |
|
|
79 | (2) |
|
|
81 | (2) |
|
|
81 | (1) |
|
|
82 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (3) |
|
|
83 | (1) |
|
Evaluating Expressions before Communication |
|
|
84 | (1) |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
86 | (4) |
|
|
86 | (1) |
|
Communicating User Defined Types |
|
|
87 | (1) |
|
|
88 | (1) |
|
Implementation of MChannels |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
Conclusions and Future Work |
|
|
92 | (3) |
|
Testing Scheme Programming Assignments Automatically |
|
|
95 | (16) |
|
|
95 | (2) |
|
|
97 | (1) |
|
|
98 | (2) |
|
Structure of the AT(x) Framework |
|
|
100 | (4) |
|
Components of the AT(x) System |
|
|
100 | (1) |
|
Communication Interface of the Analysis Component |
|
|
101 | (1) |
|
Function and Implementation of the Interface Component |
|
|
101 | (2) |
|
|
103 | (1) |
|
The Core Analysis Component |
|
|
104 | (3) |
|
Requirements on the Analysis Components |
|
|
104 | (2) |
|
Analysis of Scheme Programs |
|
|
106 | (1) |
|
Implementation and Experiences |
|
|
107 | (1) |
|
|
108 | (1) |
|
Conclusions and Further Work |
|
|
109 | (2) |
|
Testing Reactive Systems with GAST |
|
|
111 | (16) |
|
|
111 | (1) |
|
|
112 | (3) |
|
|
113 | (1) |
|
|
113 | (1) |
|
Logical Operators in GAST |
|
|
114 | (1) |
|
Automatic Generation of Test Values |
|
|
114 | (1) |
|
Specifying Reactive Systems in GAST |
|
|
115 | (6) |
|
Labelled Transition Systems |
|
|
116 | (1) |
|
Example: Conference Protocol |
|
|
117 | (1) |
|
Executing a Deterministic LTS |
|
|
118 | (2) |
|
The Implementation Under Test |
|
|
120 | (1) |
|
Testing the Conference Protocol |
|
|
120 | (1) |
|
Implementations with Other Types |
|
|
121 | (1) |
|
Better Test Data Generation from the LTS |
|
|
121 | (2) |
|
Functional and Nondeterministic Specifications |
|
|
123 | (2) |
|
Testing Nondeterministic Systems |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
127 | |