an architecture-based approach to self-adaptive software presenters douglas yu-cheng su ajit g....
Post on 19-Dec-2015
219 views
TRANSCRIPT
![Page 1: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/1.jpg)
An Architecture-Based Approach to Self-Adaptive Software
Presenters
Douglas Yu-cheng Su
Ajit G. Sonawane
![Page 2: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/2.jpg)
What is Self-adaptive software?
“A software that modifies its own behavior in response to the changes in its operating environment such as end-user input, external hardware devices and sensors”
![Page 3: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/3.jpg)
Why Adaptive Software?
Software’s original promise:
‘application that retain full plasticity throughout their lifecycle and that are as easy to modify in the field as they are on the drawing board’
High-level programming languages, Object Oriented analysis and design etc falls short of keeping the promise.
Self-adaptive software – provides to keep the promise!
![Page 4: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/4.jpg)
What issues to keep in mind?
Condition Open-adaptive or Close-adaptive Cost-Effectiveness Frequency Information type and accuracy
![Page 5: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/5.jpg)
Software Adaptation In-The-Large I
Goals
Develop a comprehensive adaptation methodology that supports the entire range of adaptation process or life-cycle.
![Page 6: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/6.jpg)
Software Adaptation In-The-Large II
Adaptation Life-Cycle
![Page 7: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/7.jpg)
Software Adaptation In-The-Large III
Important Features of Adaptation Life-Cycle: Change Management (Adaptation Management)
- Identify and Specify Changes
- Plan Changes
- Correctness and Coordination of Changes (Software Agents, Explicit Representation of Environment to deploy)
Change Mechanism (Evolution Management)
- Approaches (Architectural Based)
- Maintain Consistency and Enact Change Plan
An Ontology for self-adaptive software
![Page 8: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/8.jpg)
Evolution Management
Dynamic Software Architecture- Components, Connectors, and Topology
- Reliable Manner with Architectural Formalisms
Maintaining Consistency & System Integrity - Facilities for guiding and checking modifications
- Manager to coordinate changes
Enact Changes- Architecture editor
![Page 9: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/9.jpg)
Dynamic Software Architecture I- Weaves & C2
C2
Hierarchy of concurrent components
Service request Broadcast notification Flexible component (no
inter-dependent component thread)
![Page 10: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/10.jpg)
Dynamic Software Architecture II- Weaves & C2
Weaves
Object as input and output
Laws of blind communication
Flexible connectors
![Page 11: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/11.jpg)
Dynamic Software Architecture III- Weaves & C2
Similarities between Weaves & C2:
Distinguish between components and connectors No restrictions on the granularity of the components or
implementation language Asynchronous messages for inter-component
communication Component encapsulates functionalities and controls
![Page 12: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/12.jpg)
Maintaining Consistency & System Integrity
Need to integrate facilities for guiding and checking modifications
Need to provide maintenance for strict correspondence between architectural model and implementation
Solution: Architecture Evolution Manager (AEM) Maintain “change transaction” (single, basic, and atomic operation)
Maintain consistency between architectural model and executing implementation
Reify changes in architectural model Prevent changes from violating architectural constraints.
![Page 13: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/13.jpg)
Enacting Changes
Architecture Editor(To construct architectures and describe modifications)
Design Wizard (To prevent semantic errors)
Modification Interpreter(To interpret change scripts written by AEM)
![Page 14: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/14.jpg)
Adaptation Management
Functions
Collect Changes Monitors and Evaluates the application and its
operational environment Plans Adaptations Deploys change descriptions to running application
![Page 15: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/15.jpg)
Adaptation Management cont
Requirement for Self-Adaptive Software
Observers
Evaluates the behavior of the self-adaptive application and monitors its operating environment.
Planners
Utilizes the observations to plan adaptive responses.
Deployers
Enact the responses within the application
Requires infrastructure support in the form of “registry” (e.g. Software Dock)
![Page 16: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/16.jpg)
Collecting Observation
Embedded Assertions (inline observers) Use of ‘Expectation Agent’ Monitor events that occur outside of
Application e.g. availability of network connection, dynamic architectural change
Human Observers in cooperation with automated changes
![Page 17: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/17.jpg)
Evaluation and Monitoring
Use of Attributed graph grammers
![Page 18: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/18.jpg)
Planning Changes
Two distinct forms of planning Observation Planning Which observations are necessary for deciding when and
where adaptations are required
Classic Planning Problem
Adaptation Planning Exactly which adaptations to make and when
![Page 19: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/19.jpg)
Deploying Change Descriptors
Use of Mobile Agents
![Page 20: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/20.jpg)
Strength
Fine-grain architectural-based approach to supports the entire range of adaptive software
OthersCRM ERP Workflow Automation
Methodology
![Page 21: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/21.jpg)
Weakness
Fine-grain architectural-based approach to supports the entire range of adaptive software. Too Fine-grain???
Domain specific ontology/framework for adaptive software?
![Page 22: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/22.jpg)
Weakness cont.
Example: Workflow AutomationProcessContext
createProcess()removeProcess()getProcess()startProcess()stopProcess()
IProcess
Process
addProcessStep()removeProcessStep()getProcessStep() IProcessSte
p
ProcessStep
addProperty()removeProperty()getProperty()
Property
getValue()registerEvent()
![Page 23: An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane](https://reader030.vdocuments.mx/reader030/viewer/2022032800/56649d3e5503460f94a16948/html5/thumbnails/23.jpg)
Thank You.Question or Comments?