360 likes | 464 Views
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.
E N D
Making Sense of Software Architecture Research and DevelopmentExperience Yan Liu 11/11/2014
Outline • Research Overview • Adaptive Middleware • Research Outcomes • Position Alignment
Research Vision Devising architectures, frameworks and analysis models, to improve the performance and dependability of large distributed software systems. Making Your System Good
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
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
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)
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
AMP - Adaptive Middleware Platform Invoke actions inreal-time Detect stimuli in real-time Make optimal plans of actions Aggregate stimuli from multiple sources
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
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
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
Policy-based Configuration Target metric Threshold value
Parameter Dependency • Adaptive rendering of images on Internet
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
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
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
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
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
Coordination Controls Model Handler Coordination Component Middleware
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
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
Project Summary Collaborators Medicare Australia Australian Tax Office Defence Science and Technology Office Open Kernel Lab – NICTA Spin-off Research funding – $1.3M +
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