1 / 36

Making Sense of Software Architecture

Making Sense of Software Architecture. Research and Development Experience Yan Liu 11/11/2014. Outline. Research Overview Adaptive Middleware Research Outcomes Position Alignment. Research Vision.

Download Presentation

Making Sense of Software Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Making Sense of Software Architecture Research and DevelopmentExperience Yan Liu 11/11/2014

  2. Outline • Research Overview • Adaptive Middleware • Research Outcomes • Position Alignment

  3. Research Vision Devising architectures, frameworks and analysis models, to improve the performance and dependability of large distributed software systems. Making Your System Good

  4. Research Techniques Queuing theory Performance modeling Statistic analysis Stochastic process Software Architecture Model driven development Architecture design & evaluation Arch. evaluation Component-based engineering Adaptive self-managing systems Performance modeling Policy-based configuration Auction mechanisms

  5. Applications Self-managing and adaptation Middleware Applications Performance modeling Architecture evaluation Software Architecture Component-based development Embedded Systems Model driven development Integrated Service Systems Capacity planning Resource allocation Architecture evaluation

  6. Applications Architecture Evaluation for Middleware-based Airborne Mission Systems (collaborated with Defence Science and Technology Office) Middleware Applications Software Architecture CAmkES – Component Architecture for microkernel-based Embedded Systems (collaborated with RTOS Group and Open Kernel Labs TM) Embedded Systems Integrated Service Systems e-PASA – Performance Assessment of e-Government Service Architecture (collaborated with Medicare and Australian Tax Office)

  7. Research Experience Developing Adaptive Middleware Platform Self-managing and adaptation Middleware Applications Performance modeling Architecture evaluation Software Architecture Component-based development Embedded Systems Model driven development Integrated Service Systems Capacity planning Resource allocation Architecture evaluation

  8. AMP - Adaptive Middleware Platform Invoke actions inreal-time Detect stimuli in real-time Make optimal plans of actions Aggregate stimuli from multiple sources

  9. Extensible softwarearchitectures Dynamic monitoring and adaptation Accurate and reliable predictive models Mapping to high level business goals Sense and Respond Asynchrony Global situational awareness Accuracy and efficiency Lower cost and higher quality Open Problems Business Demands Research Challenges Software Engineering Solutions Architecture frameworks Separation of concerns Non-intrusive probes Automatic orchestration Model-based analysis Empirical evaluation

  10. Start with Framework … ?

  11. Framework of Adaptive Server Factor out common elements into infrastructure Reduce effort to build adaptive components Transparently enhance adaptive components with advanced features Make it easier to build stable and dependableadaptation capability

  12. Architecture

  13. Architecture

  14. Two Ways of Adaptation Policy-based configuration Tuning configurable parameters Threshold value setup If-condition, then-action rules Zero-configuration No threshold values Balance at equilibrium Target metric Threshold value Utility function Parameter

  15. Policy-based Configuration Target metric Threshold value

  16. Performance Modeling

  17. Parameter Dependency • Adaptive rendering of images on Internet

  18. Construction of Adaptation Queueing network model Analysis results Image scaling action Derived control loop for scaling images Thread configuration Tasks execution Policies Derived control loop for controlling CPU usage

  19. Prototype on JBoss App Server

  20. Prototype on JBoss App Server

  21. Reach to High Level Business Goals ? ?

  22. A Process-Oriented Solution Key Elements Control Modeling Handlers Control Components Coordination Integration with middleware Business Process Engine Enterprise Service Bus (ESB) Optimization Reduce the size of payload using distributed cache jBPM Model Action/Handler Coordination Layer Adaptive Server Framework Component Layer Middleware

  23. Control Modeling Model

  24. Actions and Handlers Model Handler public abstract class AnalysisHandler implements ActionHandler { public void execute(ExecutionContext executionContext) throws Exception { // the actual code to handle the state or transition return; } }

  25. Actions and Handlers Model Handler

  26. Control Component and Model Execution Model executionContext.leaveNode("switch") Handler Component Middleware

  27. Coordination Controls Response Sensor Service Routing Primary Service Secondary Service Model Coordination Handler Sensor Aggregator Coordination Component Middleware Workload Sensor Throttling Component Business System Throughput Sensor

  28. Coordination Controls Response Sensor Service Routing Primary Service Secondary Service Model Coordination Handler Sensor Aggregator Coordination Control Model (Process Engine) Component Effecting Multicast Middleware Workload Sensor Throttling Component Business System Throughput Sensor

  29. Coordination Controls Model Handler Coordination Component Middleware

  30. Loan Brokering on ESB

  31. Adaptive Services on ESB

  32. Research Outcome 1 best award summer scholarship project 1 nomination of NICTA research award 1 software prototype ready for trial (NICTA Evaluation License) 1 patent application filed Publications Journal papers: Software Practice and Experience, Journal of Software and Systems Conference/workshop papers: ICWS, ICSOC, COMPSAC, QoSA, ICSE workshop - SDSOA, ICSE workshop - SEAMS NICTA research fund Middleware Applications Patent application filed Software prototypes Software Architecture NICTA research fund Embedded Systems Open source software released Government International Science Linkages – Europe Fund, 2009 – 2010. Integrated Service Systems Collaborative projects Industry demo Software prototypes

  33. Project Summary Research projects AMP – Adaptive Middleware Platforms e-PASA – Performance Assessment of e-Government Service Architecture (collaborated with Medicare and Australian Tax Office) MEMS– Trade-off Analysis Method for Mission Critical Middleware Systems on DSTO Hybrid Test Bed(collaborated with Defence Science and Technology Office) MEMS–Architecture Evaluation for Middleware-based Airborne Mission Systems(collaborated with DSTO) CAmkES – Component Architecture for microkernel-based Embedded Systems SmartSim– Framework for building resource allocation simulations SAEM–Service-oriented Architecture for Enterprise Mashups

  34. Project Summary Collaborators Medicare Australia Australian Tax Office Defence Science and Technology Office Open Kernel Lab – NICTA Spin-off Research funding – $1.3M +

  35. Alignment to PNNL MeDICi: Service selections Monitoring SLAs Defining the selection policy Scientific Workflows Smart MeDICi job scheduling Data Intensive Computing: Dealing with massive data Adaptive protocols ‘Smart’ storage Picture from http://medici.pnl.gov/index.html 35

  36. Thank You!

More Related