James L. Peterson
Advanced Workstations Division
IBM
Austin, Texas

Software Technology Program
MCC



Overview
Evolving System Structure
Window Systems
X11
Debugging and Performance
XSCOPE
General Concept

Computer System Structure
Workstations
CPU
Memory
Keyboard
Mouse
Bitmapped Display
Network Connection

Bitmapped Displays
Text
Graphics
Multiprogramming
Windows
Multiple Processes
Multiple Windows
Cooperation

Window Systems
Multiple Processes
Inter-Process Communication (IPC)
Window Systems
X11 (NeWS, ...)
Network Connection
X11 Protocol
Resources (Windows, Fonts, Cursors, ...)
Resource Relationships (Tree of Windows, ...)
Operations on Resources (Create Window, Draw Text, Change Cursor, ...)

Client Structure
Xlib
-- Functional Interface
Toolkits
scroll bars
buttons
menus
Xtk
Motif
Atk
object oriented

Problem: Debugging
Performance

Solution: Tap the network connection
XScope

Trace Information
1. Hex / ASCII Dump
2. Protocol Interpretation
Problems: Identify Parts and Formats
Value:
Sequence of Events -- Programmer's Model
Track Errors
Determine where bugs are
Client Optimization

Application to Other Client/Server Systems
Protocol Design
Communication Modification
Translation (Protocol -- X10toX11)
Capture / Replay
Interactive Keyboard Control
Broadcast to many servers

Summary
Multiple Process Systems
IPC
Observer Processes
Connection Mechanism
Protocol Design
Communication Modification