document (20406 words) (68 p.) I Introduction and Motivation (3451 words) (12 p.) 1. Introduction (601 words) (2 p.) 1.1. Motivation (524 words) (2 p.) 1.2. Contributions (39 words) (0 p.) 1.3. Outline (2 words) (0 p.) 2. Background (2491 words) (8 p.) 2.1. Lively Kernel (685 words) (2 p.) 2.1.1. Classes and Modules (4 words) (0 p.) 2.1.2. Morphs and Worlds (183 words) (1 p.) 2.2. Context-oriented Programming (1804 words) (6 p.) 2.2.1. Behavioral Adaptation with Context-oriented Programming (687 words) (2 p.) 2.2.2. Programming with Dynamically Scoped Layers (436 words) (1 p.) 2.2.3. Lack of Alternative Scoping Mechanisms (549 words) (2 p.) 3. Self-supporting Development Environments (354 words) (1 p.) 3.1. Separation of Development and Runtime Environments (122 words) (0 p.) 3.2. Integrated Development and Runtime Environments (115 words) (0 p.) 3.3. Motivation: Evolving a Web-based Development Environment (78 words) (0 p.) II Approach (3634 words) (12 p.) 4. Malleable Tools in Self-Supporting Development Environments (1821 words) (6 p.) 4.1. Parts and PartsBin (319 words) (1 p.) 4.2. Direct Manipulation and Scripting (179 words) (1 p.) 4.3. Immediate Feedback (219 words) (1 p.) 4.4. Developing Tools as Scripted Objects (359 words) (1 p.) 4.5. Meta-circularity in Tool Development (91 words) (0 p.) 4.6. Summary (113 words) (0 p.) 5. Using Scoped Behavioral Adaptations for Evolving Self-supporting Development Environments (1809 words) (6 p.) 5.1. ContextJS Syntax and Semantics (586 words) (2 p.) 5.2. Separating Changes in Layers (277 words) (1 p.) 5.3. Scoping Changes - Layer Activation (139 words) (0 p.) 5.4. Merging Changes back into the Base System (169 words) (1 p.) 5.5. Capturing Changes (126 words) (0 p.) 5.6. Adapting Core Behavior from Scripted Tools (20 words) (0 p.) 5.7. Summary (173 words) (1 p.) III Implementation (2645 words) (9 p.) 6. An Open Implementation for Context-oriented Layer Composition in ContextJS (1471 words) (5 p.) 6.1. Open Implementation of Layer Composition (348 words) (1 p.) 6.2. Global and Dynamically Scoped Layer Activation (458 words) (2 p.) 6.3. Instance-specific and Structural Layer Activation (263 words) (1 p.) 6.4. Composition of Layer Activation Strategies (385 words) (1 p.) 6.5. Summary (4 words) (0 p.) 7. The Lively PartsBin (1170 words) (4 p.) 7.1. Repository of Parts (11 words) (0 p.) 7.2. Persistent Object-specific Behavior (244 words) (1 p.) 7.3. Source Code vs. Objects (441 words) (1 p.) 7.4. Cloning and Derivation History (288 words) (1 p.) 7.5. Prototyping (169 words) (1 p.) 7.6. Summary (13 words) (0 p.) IV Evaluation (6909 words) (23 p.) 8. CaseStudies: Tools in Webwerkstatt (3900 words) (13 p.) 8.1. Scripted Tools (357 words) (1 p.) 8.1.1. Developing a Splitter Morph (237 words) (1 p.) 8.1.2. Evolving the Inspector by Adding the Splitter Morph (115 words) (0 p.) 8.2. Server Side Scripting (14 words) (0 p.) 8.3. Scoping Behavior Adaptations in the Lively Kernel (810 words) (3 p.) 8.3.1. Test Runner Adaptation (536 words) (2 p.) 8.3.2. Connector (215 words) (1 p.) 8.4. Developing with ContextJS in Webwerkstatt (308 words) (1 p.) 8.4.1. Visualizing Events (130 words) (0 p.) 8.4.2. Text Coloring (95 words) (0 p.) 8.4.3. Developing Auto-completion (47 words) (0 p.) 8.5. Using ContextJS for Implementing Meta-Tools (2370 words) (8 p.) 8.5.1. Tracing with JavaScript (973 words) (3 p.) 8.5.2. ContextJS Tracer (646 words) (2 p.) 8.5.3. Finding a Font Size Bug in Lively Kernel (305 words) (1 p.) 8.5.4. Understanding Layout Behavior (96 words) (0 p.) 8.6. Summary (11 words) (0 p.) 9. Tool Evolution in Webwerkstatt (329 words) (1 p.) 9.1. Data Source: Repository and Runtime Analysis (68 words) (0 p.) 9.1.1. At Runtime: A Lively World (5 words) (0 p.) 9.1.2. Lively Repository (2 words) (0 p.) 9.1.3. Parts and Worlds (4 words) (0 p.) 9.2. Evolution of Tools in the PartsBin (7 words) (0 p.) 9.3. Problems of Cloning (14 words) (0 p.) 9.3.1. Overhead of Storing Scripts per Object (6 words) (0 p.) 9.3.2. Outdated Versions of Scripts (5 words) (0 p.) 9.4. Summary (4 words) (0 p.) 10. Evaluation of ContextJS in Webwerkstatt (2677 words) (9 p.) 10.1. Sources of Layer Activations and Definitions (346 words) (1 p.) 10.2. Layer Definitions (1289 words) (4 p.) 10.3. Layer Activations (110 words) (0 p.) 10.4. Frequently Refined Methods (22 words) (0 p.) 10.5. COP Usage in Webwerkstatt (370 words) (1 p.) 10.6. ContextJS Performance Observations (531 words) (2 p.) V Related Work and Conclusion (2980 words) (10 p.) 11. Related Work (2536 words) (8 p.) 11.1. Self-supporting Development Environments (403 words) (1 p.) 11.2. Scripting Active Content (708 words) (2 p.) 11.3. Adapting Tools (5 words) (0 p.) 11.4. Context-oriented Programming (479 words) (2 p.) 11.5. Dynamic Scoping of Behavioral Adaptation (451 words) (2 p.) 11.6. Meta-programming Tools (448 words) (1 p.) 12. Conclusion (438 words) (1 p.) 12.1. Contributions (91 words) (0 p.) 12.2. Future Work (157 words) (1 p.) VI Appendix (49 words) (0 p.)
../latex/00_content.tex
LaTeX Outline
import
compare
export
../todo/121206_words.txt
references
outline
plain
print
todo
citations
structure
[ ] isPrintingFullText
[X] isPrintingWordCount
[ ] isPrintingComments
[ ] isPrintingLatexCommands
[X] isPrintingPageCount