DOC PREVIEW
USC CSCI 599 - Week10_3

This preview shows page 1-2-22-23 out of 23 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 23 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

An Architecture-Based Approach to Self-Adaptive SoftwareWhat is Self-adaptive software?Why Adaptive Software?What issues to keep in mind?Software Adaptation In-The-Large ISoftware Adaptation In-The-Large IISoftware Adaptation In-The-Large IIIEvolution ManagementDynamic Software Architecture I - Weaves & C2Dynamic Software Architecture II - Weaves & C2Dynamic Software Architecture III - Weaves & C2Maintaining Consistency & System IntegrityEnacting ChangesAdaptation ManagementAdaptation Management cont Requirement for Self-Adaptive SoftwareCollecting ObservationEvaluation and MonitoringPlanning ChangesDeploying Change DescriptorsStrengthWeaknessWeakness cont.Slide 23An Architecture-Based Approach to Self-Adaptive Software PresentersDouglas Yu-cheng SuAjit G. SonawaneWhat 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”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!What issues to keep in mind?ConditionOpen-adaptive or Close-adaptiveCost-EffectivenessFrequencyInformation type and accuracySoftware Adaptation In-The-Large IGoalsDevelop a comprehensive adaptation methodology that supports the entire range of adaptation process or life-cycle.Software Adaptation In-The-Large IIAdaptation Life-CycleSoftware Adaptation In-The-Large IIIImportant 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 softwareEvolution 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 editorDynamic Software Architecture I- Weaves & C2C2Hierarchy of concurrent componentsService requestBroadcast notificationFlexible component (no inter-dependent component thread)Dynamic Software Architecture II- Weaves & C2WeavesObject as input and outputLaws of blind communicationFlexible connectorsDynamic Software Architecture III- Weaves & C2Similarities 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 controlsMaintaining Consistency & System IntegrityNeed to integrate facilities for guiding and checking modificationsNeed to provide maintenance for strict correspondence between architectural model and implementationSolution: 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.Enacting ChangesArchitecture Editor(To construct architectures and describe modifications)Design Wizard (To prevent semantic errors)Modification Interpreter(To interpret change scripts written by AEM)Adaptation ManagementFunctions Collect Changes  Monitors and Evaluates the application and its operational environment Plans Adaptations Deploys change descriptions to running applicationAdaptation Management contRequirement 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 applicationRequires infrastructure support in the form of “registry” (e.g. Software Dock)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 changesEvaluation and MonitoringUse of Attributed graph grammersPlanning ChangesTwo 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 whenDeploying Change DescriptorsUse of Mobile AgentsStrengthFine-grain architectural-based approach to supports the entire range of adaptive softwareOthersCRM ERP Workflow AutomationMethodologyWeaknessFine-grain architectural-based approach to supports the entire range of adaptive software. Too Fine-grain???Domain specific ontology/framework for adaptive software?Weakness cont.Example: Workflow AutomationProcessContextcreateProcess()removeProcess()getProcess()startProcess()stopProcess()IProcessProcessaddProcessStep()removeProcessStep()getProcessStep()IProcessStepProcessStepaddProperty()removeProperty()getProperty()PropertygetValue()registerEvent()Thank You.Question or


View Full Document

USC CSCI 599 - Week10_3

Documents in this Course
Week8_1

Week8_1

22 pages

Week2_b

Week2_b

10 pages

LECT6BW

LECT6BW

20 pages

LECT6BW

LECT6BW

20 pages

5

5

44 pages

12

12

15 pages

16

16

20 pages

Nima

Nima

8 pages

Week1

Week1

38 pages

Week11_c

Week11_c

30 pages

afsin

afsin

5 pages

October5b

October5b

43 pages

Week11_2

Week11_2

20 pages

final

final

2 pages

c-4

c-4

12 pages

0420

0420

3 pages

Week9_b

Week9_b

20 pages

S7Kriegel

S7Kriegel

21 pages

Week4_2

Week4_2

16 pages

sandpres

sandpres

21 pages

Week6_1

Week6_1

20 pages

4

4

33 pages

Week10_c

Week10_c

13 pages

fft

fft

18 pages

LECT7BW

LECT7BW

19 pages

24

24

15 pages

14

14

35 pages

Week9_c

Week9_c

24 pages

Week11_67

Week11_67

22 pages

Week1

Week1

37 pages

LECT3BW

LECT3BW

28 pages

Week8_c2

Week8_c2

19 pages

Week5_1

Week5_1

19 pages

LECT5BW

LECT5BW

24 pages

Week10_b

Week10_b

16 pages

Week11_1

Week11_1

43 pages

Week7_2

Week7_2

15 pages

Week5_b

Week5_b

19 pages

Week11_a

Week11_a

29 pages

LECT14BW

LECT14BW

24 pages

T7kriegel

T7kriegel

21 pages

0413

0413

2 pages

3

3

23 pages

C2-TSE

C2-TSE

16 pages

10_19_99

10_19_99

12 pages

s1and2-v2

s1and2-v2

37 pages

jalal

jalal

6 pages

1

1

25 pages

T3Querys

T3Querys

47 pages

CS17

CS17

15 pages

porkaew

porkaew

20 pages

LECT4BW

LECT4BW

21 pages

Week10_1

Week10_1

25 pages

wavelet

wavelet

17 pages

October5a

October5a

22 pages

p289-korn

p289-korn

12 pages

2

2

33 pages

rose

rose

36 pages

9_7_99

9_7_99

18 pages

Week10_2

Week10_2

28 pages

Week7_3

Week7_3

37 pages

Load more
Download Week10_3
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Week10_3 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Week10_3 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?