710 likes | 837 Views
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.
E N D
Making Sense of Software Architecture Research and DevelopmentExperience Yan Liu 12/29/2008
Outline • About Me • Research Overview • Research Experience • Developing Adaptive Software Systems • Related Research • Position Alignment • Position Expectation
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
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)
Research Mission Devising analysis models, architectures and frameworks to improve the performance and dependability of large distributed software systems. Making Your System Good
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
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
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
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
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
Adaptive Middleware Platform Invoke actions inreal-time Detect stimuli in real-time Aggregate stimuli from multiple sources Make optimal plansof actions
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
Technology Roadmap AMP Increased autonomic functionality
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
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
Performance Modeling • Application specific vs. common metrics • Adaptive compression of message payload • Adaptive rendering of images on Internet
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
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
Prototype on .Net WCF Adaptive Components Web Services Management Layer
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
Control Modeling Model
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; }}
Actions and Handlers Model Handler
Control Component and Model Execution Model executionContext.leaveNode("switch") Handler Component Middleware
Control Coordination Controls Model Coordination Handler Sensor Aggregator Component Middleware Workload Sensor Throttling Component Business System Throughput Sensor
Coordination Controls Model Coordination Handler Sensor Aggregator Control Control Model (Process Engine) Component Effecting Multicast Middleware Workload Sensor Throttling Component Business System Throughput Sensor
Control Coordination Controls Model Handler Component Middleware
Architecture Evaluation Method Maintainability
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
Evaluation– Sponsored Search Dual Problems: Maximise search engine (provider) profit Maximise advertiser profit Simulation allows quick validation of methods
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
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
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
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
Backup Slides Research Outcomes and Impact
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.