Reflections on 20 Years of Architecture for Distributed Real-time - - PowerPoint PPT Presentation
Reflections on 20 Years of Architecture for Distributed Real-time - - PowerPoint PPT Presentation
Reflections on 20 Years of Architecture for Distributed Real-time & Embedded Systems Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~ schmidt Professor of EECS Vanderbilt University Nashville, Tennessee SATURN
Distributed Real-time & Embedded (DRE) Systems
In DRE systems the “right answer” delivered too late becomes the “wrong answer”
DRE System Architecture: ~ 20 Years Ago
Abstracted away from key quality-of- service properties Overly hardware
- centric
Conflated design & implementation Limited reuse across domains Limited reuse across domains
DRE System Architecture: ~ 10 Years Ago
Pattern-Oriented Software Architecture
Handle
- wns
dispatches
*
notifies
* *
handle set
Reactor handle_events() register_handler() remove_handler() Event Handler handle_event () get_handle() Concrete Event Handler A handle_event () get_handle() Concrete Event Handler B handle_event () get_handle() Synchronous Event Demuxer select ()
< < uses> >
Patterns decouple design & implementation Optimization principle patterns address key quality-of-service properties Pattern collections support multiple DRE system domains
DRE System Architecture: Past ~ 5 Years
Pattern languages for distributed computing & resource management
Resource Lifecycle Manager Caching Pooling Leasing Evictor Partial Acquisition Lazy Acquisition Coordinator Lookup Eager Acquisition Performance Scalability Consistency Stability Flexibility Predictability
Pattern languages for distributed computing & resource management
Wrapper Facade Layers Component internal partitioning Remoting Error Lookup Requestor Object Adapter Container Facade Business Delegate I nvoker Client Proxy OS abstraction request issuing request reception error notification Broker configuration component discovery request dispatching request dispatching b roker access component access component access component creation Message Publisher- Subscriber Factory Method request encapsulation publish- subscribe communication
Broker
Pattern languages for distributed computing & resource management Model-driven engineering support for DRE systems Model-driven engineering tools automate key patterns for DRE systems