1 / 71

Making Sense of Software Architecture

Making Sense of Software Architecture. Research and Development Experience Yan Liu 12/29/2008. Outline. About Me Research Overview Research Experience Developing Adaptive Software Systems Related Research Position Alignment Position Expectation. About Me.

rossa
Télécharger la présentation

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 12/29/2008

  2. Outline • About Me • Research Overview • Research Experience • Developing Adaptive Software Systems • Related Research • Position Alignment • Position Expectation

  3. About Me Senior Research @ NICTA, July 2007 – present Conjoint Senior Lecturer @ CSE, UNSW, July 2007 – present Researcher @ NICTA, March 2004 – June 2007 Lecturer @ School of Computer Science and Engineering, University of New South Wales (CSE, UNSW), March 2004 – June 2007 PhD, 2001-2004. University of Sydney Intl. Postgraduate Research Scholarship, Department of Education, Australia Supervisors: Prof. Alan Fekete and Prof. Ian Gordon Thesis: A framework of performance prediction of component-based applications

  4. Research Stats Research funding – $1.2M Research projects: Adaptive Middleware Platforms - AMP Component Architecture for microkernel-based Embedded Systems –CAmkES Collaborative projects Performance Assessment of e-Government Service Architecture –e-PASA (Medicare/ATO) Trade-off Analysis Method for Mission Critical Middleware Systems on DSTO Hybrid Test Bed (DSTO) Architecture Evaluation for Middleware-based Airborne Mission Systems(DSTO)

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

  6. Research Capability 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 control Non-stopping replacement Zero-configuration policy

  7. Application Domains 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. Research Outcomes NICTA research fund Middleware Applications Patent application filed Software prototypes Software Architecture Open source software released Embedded Systems NICTA research fund Government International Science Linkages – Europe Fund, 2009 – 2010. Integrated Service Systems Collaborative projects Non-stopping replacement Zero-configuration policy

  9. Research Capability 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 control Non-stopping replacement Zero-configuration policy

  10. Research Experience Developing Middleware-based Adaptive Systems 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

  11. Adaptive Middleware Platform Invoke actions inreal-time Detect stimuli in real-time Aggregate stimuli from multiple sources Make optimal plansof actions

  12. Extensible softwarearchitectures Mechanisms to enable dynamic monitoring and adaptation Accurate and reliable predictive models Mapping high level business goals to low level QoS management Sense and Respond Asynchrony Global situational awareness Accuracy and efficiency Lower cost and higher quality than human administration Open Problems Business Demands Research Challenges Software Engineering Solutions Architecture frameworks Separation of concerns Non-instrument probes Process orchestration Model-based analysis Empirical evaluation

  13. Technology Roadmap AMP Increased autonomic functionality

  14. Start with a framework … ?

  15. Aims for Adaptive Server Framework 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

  16. Architecture

  17. Architecture

  18. Sample Implementation

  19. Techniques

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

  21. Performance Modeling

  22. Performance Modeling • Application specific vs. common metrics • Adaptive compression of message payload • Adaptive rendering of images on Internet

  23. Construction of Adaptation Adaptation Performance Throughput Response Time Target performance metrics Scaling images based on network speed and image scaling time Control logic Image scaling time Network delay Resource constraints Server configuration parameters Application specific control parameters CPU usage Thread pool size Resolution Image size Quality System model Queuing Network Model Control model Utility Function

  24. Construction of Adaptation embedded queueing network model Analysis results Image scaling action: image compression ratio and quality Reconfigure the thread pool size Thread pool management component Derived control loop for scaling images Utility function Derived control loop for controlling CPU usage

  25. Prototype on JBoss App Server

  26. Prototype on JBoss App Server

  27. Add-on Event Correlation Service

  28. Add-on Event Correlation Service

  29. Prototype on .Net WCF Adaptive Components Web Services Management Layer

  30. Reach to High Level Business Goals ? ?

  31. Control Layer A Process-Oriented Solution Suitable for stage-based service integration Control and Coordination Modeling Model 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 Component Layer Middleware

  32. Control Modeling Model

  33. 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; }}

  34. Actions and Handlers Model Handler

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

  36. Control Coordination Controls Model Coordination Handler Sensor Aggregator Component Middleware Workload Sensor Throttling Component Business System Throughput Sensor

  37. Coordination Controls Model Coordination Handler Sensor Aggregator Control Control Model (Process Engine) Component Effecting Multicast Middleware Workload Sensor Throttling Component Business System Throughput Sensor

  38. Control Coordination Controls Model Handler Component Middleware

  39. Loan Brokering on ESB

  40. Adaptive Services on ESB

  41. Architecture Evaluation Method Maintainability

  42. Adaptation with Zero Configuration Traditional systems have absolute control over components Distributed systems may not: dishonest users KaZaa free riding Grid computing Keyword advertising The economic solution: Auctions

  43. Evaluation– Sponsored Search Dual Problems: Maximise search engine (provider) profit Maximise advertiser profit Simulation allows quick validation of methods

  44. Research Outcomes 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 9 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, Invited paper to LNCS

  45. Position Alignment Linkage to MeDICi projects Service selections Monitoring SLAs Defining the selection policy Integration with MeDICi Compliant to Mule ESB Transferring process-based model to MeDICi job scheduling Dealing with massive data Picture from http://medici.pnl.gov/index.html

  46. Position Expectation Have direct contribution to the through the position role Synergize my capability with the rest of the team Continue to consolidate my research strength Expect fun and challenges

  47. Position Expectation Research leadership Steer research direction Secure research funds Manage R&D activities Research expertise Research publications Professional services Professional skills Software design and development Opportunity for funding application and industry collaboration Continue research connections and collaboration

  48. Thank You!

  49. Backup Slides Research Outcomes and Impact

  50. Software architecture evaluation statistics soft arch. Middleware Architecture Evaluation MethodS Models queuing theory middle ware Defence applications How to evaluate the COTS software framework acquired? stochastic process web tech.

More Related