140 likes | 323 Views
Software System Design. System Architecture System structuring Control models Modular decomposition Domain-specific architectures. Control Models. How subsystems behavior is coordinated Orthogonal to system structure Two broad categories Centralized control Master subsystem
E N D
Software System Design • System Architecture • System structuring • Control models • Modular decomposition • Domain-specific architectures System Architectures - II
Control Models • How subsystems behavior is coordinated • Orthogonal to system structure • Two broad categories • Centralized control • Master subsystem • Event-based control • Each subsystem able to respond to external events System Architectures - II
Centralized Control • Master subsystem has responsibility for managing execution of (other) subsytems • Call-Return Model • Manager Model System Architectures - II
Centralized Control • Master subsystem has responsibility for managing execution of (other) subsytems • Call-Return Model • Subsystems invoked using traditional subroutine/function calls • Applicable in sequential execution only • Manager Model System Architectures - II
Call-Return Model (figure) System Architectures - II
Centralized Control • Master subsystem has responsibility for managing execution of (other) subsytems • Call-Return Model • Manager Model • Subsystems run as separate processes • Manager starts/suspends/stops processes • Implied in concurrent systems, can be useful in sequential ones System Architectures - II
Event-Based Control • No master controller • Subsystems react to external events • Subsystems can signal events to others • Specific examples • Spreadsheet (cell state changes) • Soar, Linda (AI-inspired production systems) • Ethernet System Architectures - II
Event-Based ControlBroadcast Models • Event is broadcast to all subsystems • “Appropriate” subsystem responds • Conflict resolution? • Event Handler • Subsystem can register interest in particular events • Handler passes off to registered subsystem • Reduces overhead on uninterested subsystems System Architectures - II
Event-Based ControlBroadcast Models • Pros: • Simple to evolve (add/remove/change event handlers) • Subsystems don’t need to know others by name • Cons: • Caller doesn’t know if/when event will be handled • Conflict resolution System Architectures - II
Event-Based ControlInterrupt-Driven Models • Preferable to broadcast models for real-time reaction • Interrupt handlers • Hardware supported • Triggered by raising of interrupt event • Assume control of subsystems • E.g. air-bag deployment; fire-control systems System Architectures - II
Event-Based ControlInterrupt-Driven Models • Pros: • Allows for fast responses; context switches • Cons: • Complex to program • Difficult to validate (reproducing timings) • Number limited by hardware System Architectures - II
Domain-Specific Architectures • Can be useful to frame, guide architectural design for a specific domain • Generic Models • Generalized architecture of real applications in domain • Reference Models • Idealized architecture for an application domain System Architectures - II
The OSI Networking Model • OSI = Open Systems Interconnection • A layered model for communication systems (similar to Abstract Machine Model) System Architectures - II
The OSI Networking Model 7. Application 6. Presentation 5. Session 4. Transport 3. Network 2. Data Link 1. Physical System Architectures - II