Download presentation
Presentation is loading. Please wait.
Published byLilian Manning Modified over 9 years ago
1
Experience on Developing Adaptive Middleware Based Systems : Cost, benefit and design approach Research Seminar
2
Outline About Me Background and Motivation Research Challenges and Business Demands Experience in 5 Aspects Collaboration Opportunities Research Vision
3
About Me Researcher, 2004 - present. ESE, NICTA –Software architectures and middleware systems PhD, 2001-2004. University of Sydney –Supervisors: Prof. Alan Fekete and Prof. Ian Gordon –Thesis: A framework of performance prediction of component-based applications Reviewers: Dr. Len Bass, Prof. John Grundy and Dr. Piyush Maheshwari
4
PhD Thesis : Performance Prediction Method Performance Prediction Architecture model (calibrating) Application model (design modeling) Performance Model (populating) Performance Profile (benchmarking) Performance Modeling
5
How I get here
6
Research Mission Devising analysis models, architectures and frameworks to improve the design and runtime performance and dependability of distributed software systems.
7
Background and Motivation
8
What is Middleware? Middleware is connectivity software that consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. –Cited from SEI definition of middleware, ww.sei.cmu.edu/str/descriptions/middleware.html
9
Middleware Behind the Scene of Complexity diagram from Jeff Kaphart’s talk on Software Agents and the Information Economy What is Middleware?
10
Middleware Characteristics –Many kinds and widely used –Pervasive and ambient to the end users –Failure and malfunction of middleware can directly affect user experience Capability of current middleware systems –Stack of services to facilitate distributed computing –Already built in with ‘smartness’ Challenges that middleware-based systems are facing today –Increasing complexity –Heterogeneity –Mapping from business goals to middleware QoS management
11
Adaptive Middleware Value Proposition Provide a sense and respond solution that supports the response to stimulus – threats and opportunities to the enterprise – in a timely and safe fashion
12
Adaptive Middleware Characteristics Sense Detect stimuli across the Environment in real-time Analyse Aggregate stimuli across multiple sources; Analyse the reality Plan Compare reality and expectation Make optimal plans of actions Respond Invoke actions in real-time
13
Research Challenges and Business Demands
14
Business Demands and Open Problems Research Challenges 1.Extensible software architectures 2.Mechanisms to enable dynamic monitoring and adaptation 3.Accurate and reliable predictive models 4.Mapping high level business goals to low level QoS management Business Demands 1. Sense and Respond 2. Asynchrony 3. Global situational awareness 4. Accuracy and efficiency 5. Lower cost and higher quality than human administration Software Engineering Solutions 1.Architectural styles (patterns) and frameworks 2.Separation of concerns 3.Non-instrument probes 4.Process orchestration 5.Model-based analysis 6.Empirical evaluation
15
Developing Adaptive Systems : ROI Enterprises are already middleware based –Large scale, loose coupled, heterogeneous environment Enterprises have key elements for adaptation –Databases, rules engines, service buses, data-mining capabilities…. ROI: Incremental cost versus incremental benefits. –Costs: Additional components in software stack Additional development time –Benefits Applications are more efficient QoS assurance
16
Experience in 5 Aspects
17
Take-away Points 1.Requirement : adaptation is specialized for domains 2.Design principle: separation of concerns 3.Development method: composition rather than green field development 4.Evaluation criteria: preserving safe changes 5.Research adoption: unrealistic assumptions setup barriers
18
Research Statement Integrating analysis models with software architectures to provide specialized solutions for domain specific applications to self-manage the performance and dependability and to preserve safe changes.
19
Point 1 : adaptation is specialized for domains Enterprise Systems Defence systems Road and traffic management systems
20
Is there anything generic and reusable? Initial attempt : adaptive message compression/decompression of Web services A little bit more complex : adaptive image processing of Web applications There IS something generic and reusable –Architecture styles and patterns –Common components for constructing sense-analyse-plan-respond loop Development of Adaptive Server Framework (ASF)
21
Aims for ASF Factor out common services into infrastructure Reduce effort to build adaptive components Transparently enhance adaptive components with advanced features Make it faster, easier to build and enhance adaptive capability
22
Adaptive Server Framework Architecture ASF Supported Adaptive Application Servers Middleware (.Net Framework/JAVA EE/ Enterprise Service Bus) Standard-based Management Layer Operating System Engine Executor Effector Sensor Effector SensorMonitorAnalyzer Repository Policy Manager Event Correlation Security Manager Web Services Wrapper ASF service layer Tested and and Optimized
23
Sample ASF-based Implementation Customized, Application specific Adaptive component ASF pre-defined component with default implementation
24
What is the software architecture design principle? Typical Stovepipe Solution Architecture Business logic and adaptation are ‘crosscutting’ “One-off” solutions, hard to weave in customized adaptation
25
Point 2 : Separation of Concerns Separate business logic components and adaptive components Plug-and-play deployment model Adaptive middleware provides programming models and services Easy to reconfigure and incorporate new adaptation
26
What is the development method? You (ABC) Loan Broker Loan quote please? Quote please? 6.25% 6% 5.4% 5.4% from NAB Credit history? He’s alright Let’s get a loan! Overload control Failover control
27
Scenario 1 : Overload Control http://www.eaipatterns.com/SmartProxy.html
28
Scenario 2 : Automatic Failover http://www.eaipatterns.com/SmartProxy.html
29
What is the development method?
30
Point 3 : Composition, Not From Scratch Legacy is the reality… Enterprises have key elements for composing adaptive systems –existing middleware, software frameworks, rules engines, service buses, data-mining capabilities… Composing adaptive systems saves time and money ! But how ? –Extending the architecture –Adding in new components –Adding in new mechanisms
31
Composing Overload and Failover Control Application specific scenarios driven what to be composed ASF helps with how to compose them SmartProxyMonitorTesterPlanerManager Esper Complex event processing Quartz Job scheduling Reinforcement Learning OS Monitors jBPM Business process engine General SOA Architectures With Services Connected Through Endpoints
32
Current Work : Developing a Process Driven Monitoring and Actuation Framework
33
Increasing Sophistication of ASF Process Orchestration Chameleon Dashboard ASF Machine Learning Algorithms Model driven development
34
Chameleon Dashboard
35
Point 4 : Preserve Safe Changes Changes are made to the configuration, the behaviour, and the structure of the system. Demands on –Efficient architecture designs Architecture evaluation methods –Accuracy of analysis models Simulation and empirical evidence –Optimization of learning process Heuristic hints –Detecting and recovering from unsafe changes OS mechanisms –Tools for mapping between business goals and infrastructure QoS management Business process and policy management –Tools for development and maintenance IDE and model driven development
36
Current Work : Enabling Design Level Prediction Design models analysis/simulation models Analysis/simulation models Prediction
37
Point 5 : Avoid Unrealistic Assumptions Single server Hard coded control logic Empirical evaluation of accuracy Distributed as Web services Hard coded control logic Empirical evaluation of accuracy Distributed as any objects, components and services Control logic modelled as processes Built-in algorithms Design level prediction ASF Version 1 ASF Extension with services ASF Version 2
38
Summary Adaptation is specialized for domains Good separation of concerns is the design principle Composing adaptive systems saves money and time Preserving safe changes is the key to be successful Unrealistic assumptions blocks the way of research adoption
39
Collaboration Opportunities
40
Research Collaboration A platform to demonstrate integrated NICTA research capabilities –AMP is under ArMature umbrella, leveraging process orchestration to control QoS management Opportunities for interdisciplinary research collaboration –Software engineering methodologies and tools : testing and formal analysis –Machine learning algorithms : mining rules, problem diagnosis –Computing theories: queueing theory, random algorithms –Operational research : linear programming and optimization –Networking QoS control mechanisms : token bucket, QoS differentiation Impact –A technology demonstrator with the differentiator, the capability of preserving safe changes
41
Industry Collaboration Todo
42
Research Vision
44
Sense and Respond: Beyond Middleware "Sense and respond systems" are systems that detect critical conditions in an extended distributed environment and respond proactively. –Prof. K. Mani Chandy, California institute of technology
45
WP3 Linkages Process QoS System QoS COST=F(v1, v2, v3,…, vn) Execution Engine Execution Engine WP3 WP2.2 Performance Analysis WP2.3 Design Level PredictionRun Time Adaptation
46
From imagination to impact
47
Backup Slides
48
PhD Thesis : Performance Prediction Method Performance Prediction Architecture model (calibrating) Application model (design modeling) Performance Model (populating) Performance Profile (benchmarking) Performance Modeling
49
Sense and Respond: Beyond Middleware Emerging platforms with much simpler programming models, larger scope and more unpredictable usage behavior. Design and develop adaptware to provide internet facing applications with cost-effective adaptation capability of managing performance and dependability Adaptware consists of a stack of adaptive components and a lightweight runtime environment deployable to the platforms
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.