reflections on 20 years of architecture for distributed
play

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


  1. 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 Conference, May 9 th , 2012

  2. Distributed Real-time & Embedded (DRE) Systems In DRE systems the “ right answer ” delivered too late becomes the “ wrong answer ”

  3. DRE System Architecture: ~ 20 Years Ago Overly hardware -centric Conflated design & implementation Abstracted away from key quality-of- Limited reuse Limited reuse service properties across domains across domains

  4. DRE System Architecture: ~ 10 Years Ago Pattern-Oriented Patterns decouple design Software Architecture & implementation Reactor * Event Handler handle_events() dispatches handle_event () register_handler() get_handle() remove_handler() owns * Handle * notifies handle set < < uses> > Concrete Event Concrete Event Synchronous Handler A Handler B Event Demuxer handle_event () handle_event () get_handle() get_handle() select () Optimization principle patterns address key quality-of-service properties Pattern collections support multiple DRE system domains

  5. DRE System Architecture: Past ~ 5 Years Pattern languages for distributed Pattern languages for distributed Pattern languages for distributed computing & resource management computing & resource management computing & resource management internal Broker partitioning Layers request Object Adapter dispatching OS abstraction request Wrapper Facade Container dispatching b roker request Requestor Facade access issuing request component I nvoker Client Proxy reception access component Business request Message Delegate encapsulation access component error Factory Method Remoting Error creation notification publish- Publisher- subscribe Broker Component Subscriber configuration communication component Lookup discovery Eager Caching Performance Acquisition Predictability Pooling Leasing Scalability Stability Evictor Resource Coordinator Lifecycle Manager Lookup Lazy Acquisition Consistency Flexibility Partial Acquisition Model-driven Model-driven engineering tools engineering automate key patterns support for DRE for DRE systems systems

  6. Concluding Remarks Careful study & leveraging of good patterns significantly improves architecture skills Automation via model-driven engineering tools is helpful, but not (yet) a substitute for experience/insight Our understanding of the key patterns necessary to architect net-centric DRE systems-of-systems is still in its infancy

Recommend


More recommend