Presentation is loading. Please wait.

Presentation is loading. Please wait.

Experience on Developing Adaptive Middleware Based Systems : Cost, benefit and design approach Research Seminar.

Similar presentations


Presentation on theme: "Experience on Developing Adaptive Middleware Based Systems : Cost, benefit and design approach Research Seminar."— Presentation transcript:

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

43

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


Download ppt "Experience on Developing Adaptive Middleware Based Systems : Cost, benefit and design approach Research Seminar."

Similar presentations


Ads by Google