load
save
I Introduction and Motivation: 1. Introduction 1.1. Motivation Goal: direkt change and immediate feedback - Move boundary between programming models down - Move as many into EUD Level - Allow users to customize tools and evolve environment 1.2. Contributions - Pulling Tools into End-user Manipulateable Space -> Scripting Parts Adapting Tools by Scripting Parts - Allow to change Core System from Scripted Tools (from the outside) -> ContextJS Evolving Behavior with Context-oriented Programming 1.3. Outline 2. Background 2.1. Lively Kernel 2.1.1. Classes and Modules 2.1.2. Morphs and Worlds 2.2. Context-oriented Programming 2.2.1. Behavioral Adaptation with Context-oriented Programming 2.2.2. Programming with Dynamically Scoped Layers 2.2.3. Lack of Alternative Scoping Mechanisms 3. Self-supporting Development Environments 3.1. Separation of Development and Runtime Environments 3.2. Integrated Development and Runtime Environments 3.3. Motivation: Evolving a Web-based Development Environment II Approach: 4. Malleable Tools in Self-Supporting Development Environments 4.1. Parts and PartsBin 4.2. Direct Manipulation and Scripting 4.3. Immediate Feedback 4.4. Developing Tools as Scripted Objects 4.5. Meta-circularity in Tool Development 4.6. Summary 5. Using Scoped Behavioral Adaptations for Evolving Self-supporting Development Environments 5.1. ContextJS Syntax and Semantics 5.2. Separating Changes in Layers 5.3. Scoping Changes - Layer Activation 5.4. Merging Changes back into the Base System 5.5. Capturing Changes 5.6. Adapting Core Behavior from Scripted Tools 5.7. Summary III Implementation: 6. An Open Implementation for Context-oriented Layer Composition in ContextJS 6.1. Open Implementation of Layer Composition 6.2. Global and Dynamically Scoped Layer Activation 6.3. Instance-specific and Structural Layer Activation 6.4. Composition of Layer Activation Strategies 6.5. Summary 7. The Lively PartsBin A Cloud-based Repository for Collaborative Development of Active Web Content 7.1. Repository of Parts 7.2. Persistent Object-specific Behavior 7.3. Source Code vs. Objects 7.4. Cloning and Derivation History 7.5. Prototyping 7.6. Summary IV Evaluation: 8. CaseStudies: Tools in Webwerkstatt 8.1. Scripted Tools 8.1.1. Developing a Splitter Morph 8.1.2. Evolving the Inspector by Adding the Splitter Morph 8.2. Server Side Scripting CPU Visualization 8.3. Scoping Behavior Adaptations in the Lively Kernel 8.3.1. Test Runner Adaptation 8.3.2. Connector 8.4. Developing with ContextJS in Webwerkstatt 8.4.1. Visualizing Events 8.4.2. Text Coloring 8.4.3. Developing Auto-completion 8.5. Using ContextJS for Implementing Meta-Tools 8.5.1. Tracing with JavaScript 8.5.2. ContextJS Tracer 8.5.3. Finding a Font Size Bug in Lively Kernel 8.5.4. Understanding Layout Behavior 8.6. Summary 9. Tool Evolution in Webwerkstatt 9.1. Data Source: Repository and Runtime Analysis 9.1.1. At Runtime: A Lively World 9.1.2. Lively Repository 9.1.3. Parts and Worlds 9.2. Evolution of Tools in the PartsBin 9.3. Problems of Cloning 9.3.1. Overhead of Storing Scripts per Object 9.3.2. Outdated Versions of Scripts 9.4. Summary 10. Evaluation of ContextJS in Webwerkstatt 10.1. Sources of Layer Activations and Definitions 10.2. Layer Definitions 10.3. Layer Activations 10.4. Frequently Refined Methods 10.5. COP Usage in Webwerkstatt 10.6. ContextJS Performance Observations V Related Work and Conclusion: 11. Related Work 11.1. Self-supporting Development Environments 11.2. Scripting Active Content 11.3. Adapting Tools 11.4. Context-oriented Programming 11.5. Dynamic Scoping of Behavioral Adaptation 11.6. Meta-programming Tools 12. Conclusion 12.1. Contributions 12.2. Future Work
../todo/outline2.todo