SlideShare a Scribd company logo
Architectural Adaptation Software Architecture Lecture 25
Adaptation Change is endemic to software perceived and actual malleability of software induces stakeholders to initiate changes, e.g.: Users want new features Designer wants to improve performance Application environment is changing Adaptation: modification of a software system to satisfy new requirements and changing circumstances
Goals of this Lecture Characterize adaptation, showing what changes, why, and who the players are   Characterize the central role software architecture plays in system adaptation   Present techniques for effectively supporting adaptation, based on an architecture-centric perspective
Sources and Motivations for Ch ange Corrective Changes Bug fixes Modification to the functional requirements  New features are needed Existing ones modified Perhaps some must be removed New or changed non-functional system properties Anticipation of future change requests   Changed operating environment Observation and analysis
Changes Arising from Product Line Forces Creating a new variant Change at branch point E.g.: Adding an integrated TV/DVD device to a TV product line   Creation of a new branch point   Merging product (sub)lines Rationalizing their architectures
Motivation for Online Dynamic Change Non-stop applications software cannot be stopped because the “application” cannot be stopped E.g., 24/7 systems  Maintaining user or application state stopping the software would cause the user to lose (mental) context  saving and/or recreating the software’s application state would be difficult or costly Re-installation difficulty applications with complex installation properties E.g., software in an automobile
Stewart Brand’s Shearing Layers of Change   “ How Buildings Learn – What happens after they’re built” examines how and why buildings change over time Categorization of types of change according to the nature and cost of making a change
Shearing Layers  in a Building Figure adapted from “How Buildings Learn”; Stewart Brand,  © 1994 Stewart Brand.
The Six Shearing Layers Site :  the geographical setting, the urban location, and the legally defined lot its boundaries and context outlast generations of ephemeral buildings. Structure (“the building”) :  the foundation and load-bearing elements  perilous and expensive to change, so people don’t Skin :  exterior surfaces  change every ~20 years, to keep up with fashion, technology, or for repair
The Six Shearing Layers (cont’d) Services :  working guts of a building:  communications wiring, electrical wiring, plumbing, sprinkler systems, etc. Space Plan :  interior layout – where walls, ceilings, floors, and doors go Stuff :  chairs, desks, phones, pictures, kitchen appliances, lamps, hair brushes things that switch around daily to monthly
To Shear or Not to Shear –    Pompidou Center Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
The Six Shearing Layers Site Structure Skin Services Space Plan Stuff How do these relate to  software  architecture?
Changing Component Interiors   A component’s performance may be improved by a change to the algorithm that it uses internally Capabilities that facilitate component adaptation  Knowledge of self and exposure of this knowledge to external entities Knowledge of the component’s role in the larger architecture   Pro-active engagement of other elements of a system in order to adapt
Change of Component Interface In many cases adaptation to meet modified functional properties entails changing a component’s interface Adaptors/wrappers are a popular technique to mitigate “ripple effect”  but,  subsequent changes to previously unmodified methods become even more complex
Connector Change Typically changes to connectors are motivated by  The desire to alter non-functional properties such as distribution of components, fault-tolerance, efficiency, modifiability, etc. increased independence of sub-architectures in the face of potential failures improved performance The more powerful the connector the easier architectural change   E.g., connectors supporting event-based communication What is the downside?
Change in the Configuration Changes to the configuration of components and connectors represents fundamental change to a system’s architecture Effectively supporting such a modification requires working from an explicit model of the architecture  Many dependencies between components will exist, and the architectural model is the basis for managing and preserving such relationships
Change Agents and Context (1)   Change Agents – Identity and Location The processes that carry out adaptation may be performed by  human  automated agents a combination thereof   If an adaptation agent is part of a deployed application from the outset, the potential is present for an effective adaptation process   Agent may have access to contextual information E.g.,  periodically a user of a desktop OS is notified when an OS or application upgrade is available
Change Agents and Context (2)   Knowledge   Agent might need knowledge to mitigate adaptation risk Agent has to know the constraints that must be retained in the modified system If the system’s architectural design decisions have been violated, architectural recovery will be required  Degree of Freedom   Freedom that the engineer has in designing the changes Greater freedom    large solution space By learning the constraints of the system, the coherence of the architecture can be retained
Time of Change Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Architecture-Centric Adaptation In the absence of explicit architecture the engineer is left to reason about adaptation from memory  from source code  Architecture can serve as the primary focus of reasoning about potential adaptations Descriptive  architecture is the reference point
Conceptual Architecture for Adaptation From: “An Architecture-based Approach to Self-Adaptive Software”, Oreizy, et.al. IEEE Intelligent Systems, 14 (3), 1999.
Activities, Agents, and Entities Adaptation management and evolution management can be separated into three types of activities Strategic  refers to determining what to do Tactical  refers to developing detailed plans for achieving the strategic goals Operations  refers to the nuts-and-bolts of carrying out the detailed plans
Strategy, Tactics, and Operations Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Categories of Techniques Observing and collecting state Analyzing data and planning change Describing change descriptions  Deploying change descriptions Effecting the change
Architectures/Styles that Support Adaptation Explicit models First-class connectors  Adaptable connectors   M essage-based communication   … others?
Architectures/Styles Supporting  Adaptation Application programming interfaces (API) Scripting languages   Plug-ins   Component/object architectures   Event interfaces
API-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Plug-In Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Component-Object Approach Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Scripting-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
Event-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy;  © 2008 John Wiley & Sons, Inc. Reprinted with permission.
The Special Problems of On-the-fly Change The principle of quiescence   A node in the active state can initiate and respond to transactions. The state identified as necessary for reconfiguration is the passive state,  node must respond to transaction not currently engaged in a transaction that it initiated it will not initiate new transactions

More Related Content

What's hot (20)

PPSX
الأساسات
Heba Al-DJ
 
PPS
High Tech Building Materials: ETFE
Sneha Nagarajan
 
PPT
Building Structures as Architecture, Wolfgang Schueller
Wolfgang Schueller
 
PDF
Shipping Container Architecture Research
PB4000XL
 
PDF
Lecture 07 escape - 02
freemadoo
 
PPTX
high rise building
Aditya Sanyal
 
PPTX
Cctv headquarters, beijing
Palak Khandelwal
 
PDF
Precast construction
Divya Vishnoi
 
PDF
Architectural Design in Arabic book 3 - التصميم المعمارى بالعربى - كتاب 3
Galala University
 
PPTX
Diagrid Structures: Introduction & Literature Survey
Uday Mathe
 
PDF
How Does Architecture Affect Behavior?
miniatureafterl18
 
PPTX
ARCH417NewYorkFive
Jennifer Burns
 
PPT
L5 Vertical Structure Pt 3
chuhonsan
 
PDF
Lecture 02 structural systems
Khaled Ali
 
PPT
Lec. 04 (cad)
Zakee Kazmee
 
PPS
Space and shell structures
bkps.college of architecture
 
PPTX
Type of high rise building
Zabihullah Nasiri
 
PDF
Jadro steel ppt
Adityasanganeria
 
PPTX
Antoni gaudi
dhananjaysingh234
 
PDF
Building Technology 1 Construction Solutions Report
douglasloon
 
الأساسات
Heba Al-DJ
 
High Tech Building Materials: ETFE
Sneha Nagarajan
 
Building Structures as Architecture, Wolfgang Schueller
Wolfgang Schueller
 
Shipping Container Architecture Research
PB4000XL
 
Lecture 07 escape - 02
freemadoo
 
high rise building
Aditya Sanyal
 
Cctv headquarters, beijing
Palak Khandelwal
 
Precast construction
Divya Vishnoi
 
Architectural Design in Arabic book 3 - التصميم المعمارى بالعربى - كتاب 3
Galala University
 
Diagrid Structures: Introduction & Literature Survey
Uday Mathe
 
How Does Architecture Affect Behavior?
miniatureafterl18
 
ARCH417NewYorkFive
Jennifer Burns
 
L5 Vertical Structure Pt 3
chuhonsan
 
Lecture 02 structural systems
Khaled Ali
 
Lec. 04 (cad)
Zakee Kazmee
 
Space and shell structures
bkps.college of architecture
 
Type of high rise building
Zabihullah Nasiri
 
Jadro steel ppt
Adityasanganeria
 
Antoni gaudi
dhananjaysingh234
 
Building Technology 1 Construction Solutions Report
douglasloon
 

Viewers also liked (20)

PPT
22 deployment and_mobility
Majong DevJfu
 
PPT
21 security and_trust
Majong DevJfu
 
PPT
20 nfp design_techniques
Majong DevJfu
 
PPT
19 designing for_nf_ps
Majong DevJfu
 
PPT
24 dssa and_product_lines
Majong DevJfu
 
POT
Tmd template-sand
Majong DevJfu
 
PDF
Uml2
Majong DevJfu
 
PDF
Uml3
Majong DevJfu
 
PPT
23 intro to_dsse
Majong DevJfu
 
PDF
2 - Architetture Software - Software architecture
Majong DevJfu
 
PDF
Into. to Arch Week 3
Hamdija Velagic
 
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
PDF
May Chapter Meeting: OmniClass, CSI Formats, and Their Role in BIM (Joint Mee...
novacsi
 
PDF
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
PDF
4 (uml basic)
Majong DevJfu
 
PDF
10 - Architetture Software - More architectural styles
Majong DevJfu
 
22 deployment and_mobility
Majong DevJfu
 
21 security and_trust
Majong DevJfu
 
20 nfp design_techniques
Majong DevJfu
 
19 designing for_nf_ps
Majong DevJfu
 
24 dssa and_product_lines
Majong DevJfu
 
Tmd template-sand
Majong DevJfu
 
23 intro to_dsse
Majong DevJfu
 
2 - Architetture Software - Software architecture
Majong DevJfu
 
Into. to Arch Week 3
Hamdija Velagic
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
May Chapter Meeting: OmniClass, CSI Formats, and Their Role in BIM (Joint Mee...
novacsi
 
4 - Architetture Software - Architecture Portfolio
Majong DevJfu
 
4 (uml basic)
Majong DevJfu
 
10 - Architetture Software - More architectural styles
Majong DevJfu
 
Ad

Similar to 25 architectural adaptation (20)

PDF
Lecture-2-Architectural_Concepts.pdf
AkilaGamage2
 
PPT
13 analysis of_software_architectures
Majong DevJfu
 
PPT
04 designing architectures
Majong DevJfu
 
PPT
03 basic concepts
Majong DevJfu
 
PPT
02 architectures in_context
Majong DevJfu
 
PPT
Cs 1023 lec 6 architecture (week 1)
stanbridge
 
PPT
09 introduction to_modeling
Majong DevJfu
 
PPT
lecture7.ppt
Smita Agarwal
 
PPT
lecture7.ppt
AmadouBagayoko2
 
PDF
Concept Java Framework
Diego Malpica Chauvet
 
PPTX
Thoughts On Architecting V4 2
bmercer
 
PDF
Software engineering lecture notes
Ammar Shafiq
 
PPTX
Basics of se
Revi Shahini
 
PDF
Seminar VU Amsterdam 2015
Philipp Leitner
 
PPT
Cs 1023 lec 1 big idea (week 1)
stanbridge
 
PPT
Cs 1023 lec 1 big idea (week 1)
stanbridge
 
PPT
Cs 1023 lec 13 web (week 4)
stanbridge
 
PPT
18 applied architectures_part_2
Majong DevJfu
 
PDF
81-T48
abdollah kiani
 
PPTX
The Outlook is Cloudy
Eduserv
 
Lecture-2-Architectural_Concepts.pdf
AkilaGamage2
 
13 analysis of_software_architectures
Majong DevJfu
 
04 designing architectures
Majong DevJfu
 
03 basic concepts
Majong DevJfu
 
02 architectures in_context
Majong DevJfu
 
Cs 1023 lec 6 architecture (week 1)
stanbridge
 
09 introduction to_modeling
Majong DevJfu
 
lecture7.ppt
Smita Agarwal
 
lecture7.ppt
AmadouBagayoko2
 
Concept Java Framework
Diego Malpica Chauvet
 
Thoughts On Architecting V4 2
bmercer
 
Software engineering lecture notes
Ammar Shafiq
 
Basics of se
Revi Shahini
 
Seminar VU Amsterdam 2015
Philipp Leitner
 
Cs 1023 lec 1 big idea (week 1)
stanbridge
 
Cs 1023 lec 1 big idea (week 1)
stanbridge
 
Cs 1023 lec 13 web (week 4)
stanbridge
 
18 applied architectures_part_2
Majong DevJfu
 
The Outlook is Cloudy
Eduserv
 
Ad

More from Majong DevJfu (11)

PDF
9 - Architetture Software - SOA Cloud
Majong DevJfu
 
PDF
8 - Architetture Software - Architecture centric processes
Majong DevJfu
 
PDF
7 - Architetture Software - Software product line
Majong DevJfu
 
PDF
6 - Architetture Software - Model transformation
Majong DevJfu
 
PDF
3 - Architetture Software - Architectural styles
Majong DevJfu
 
PDF
1 - Architetture Software - Software as a product
Majong DevJfu
 
PPT
26 standards
Majong DevJfu
 
PPT
17 applied architectures
Majong DevJfu
 
PPT
16 implementation techniques
Majong DevJfu
 
PPT
15 implementing architectures
Majong DevJfu
 
9 - Architetture Software - SOA Cloud
Majong DevJfu
 
8 - Architetture Software - Architecture centric processes
Majong DevJfu
 
7 - Architetture Software - Software product line
Majong DevJfu
 
6 - Architetture Software - Model transformation
Majong DevJfu
 
3 - Architetture Software - Architectural styles
Majong DevJfu
 
1 - Architetture Software - Software as a product
Majong DevJfu
 
26 standards
Majong DevJfu
 
17 applied architectures
Majong DevJfu
 
16 implementation techniques
Majong DevJfu
 
15 implementing architectures
Majong DevJfu
 

Recently uploaded (20)

PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PPTX
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PPTX
Using Google Data Studio (Looker Studio) to Create Effective and Easy Data Re...
Orage Technologies
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
Earn Agentblazer Status with Slack Community Patna.pptx
SanjeetMishra29
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Using Google Data Studio (Looker Studio) to Create Effective and Easy Data Re...
Orage Technologies
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 

25 architectural adaptation

  • 1. Architectural Adaptation Software Architecture Lecture 25
  • 2. Adaptation Change is endemic to software perceived and actual malleability of software induces stakeholders to initiate changes, e.g.: Users want new features Designer wants to improve performance Application environment is changing Adaptation: modification of a software system to satisfy new requirements and changing circumstances
  • 3. Goals of this Lecture Characterize adaptation, showing what changes, why, and who the players are Characterize the central role software architecture plays in system adaptation Present techniques for effectively supporting adaptation, based on an architecture-centric perspective
  • 4. Sources and Motivations for Ch ange Corrective Changes Bug fixes Modification to the functional requirements New features are needed Existing ones modified Perhaps some must be removed New or changed non-functional system properties Anticipation of future change requests Changed operating environment Observation and analysis
  • 5. Changes Arising from Product Line Forces Creating a new variant Change at branch point E.g.: Adding an integrated TV/DVD device to a TV product line Creation of a new branch point Merging product (sub)lines Rationalizing their architectures
  • 6. Motivation for Online Dynamic Change Non-stop applications software cannot be stopped because the “application” cannot be stopped E.g., 24/7 systems Maintaining user or application state stopping the software would cause the user to lose (mental) context saving and/or recreating the software’s application state would be difficult or costly Re-installation difficulty applications with complex installation properties E.g., software in an automobile
  • 7. Stewart Brand’s Shearing Layers of Change “ How Buildings Learn – What happens after they’re built” examines how and why buildings change over time Categorization of types of change according to the nature and cost of making a change
  • 8. Shearing Layers in a Building Figure adapted from “How Buildings Learn”; Stewart Brand, © 1994 Stewart Brand.
  • 9. The Six Shearing Layers Site : the geographical setting, the urban location, and the legally defined lot its boundaries and context outlast generations of ephemeral buildings. Structure (“the building”) : the foundation and load-bearing elements perilous and expensive to change, so people don’t Skin : exterior surfaces change every ~20 years, to keep up with fashion, technology, or for repair
  • 10. The Six Shearing Layers (cont’d) Services : working guts of a building: communications wiring, electrical wiring, plumbing, sprinkler systems, etc. Space Plan : interior layout – where walls, ceilings, floors, and doors go Stuff : chairs, desks, phones, pictures, kitchen appliances, lamps, hair brushes things that switch around daily to monthly
  • 11. To Shear or Not to Shear – Pompidou Center Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 12. The Six Shearing Layers Site Structure Skin Services Space Plan Stuff How do these relate to software architecture?
  • 13. Changing Component Interiors A component’s performance may be improved by a change to the algorithm that it uses internally Capabilities that facilitate component adaptation Knowledge of self and exposure of this knowledge to external entities Knowledge of the component’s role in the larger architecture Pro-active engagement of other elements of a system in order to adapt
  • 14. Change of Component Interface In many cases adaptation to meet modified functional properties entails changing a component’s interface Adaptors/wrappers are a popular technique to mitigate “ripple effect” but, subsequent changes to previously unmodified methods become even more complex
  • 15. Connector Change Typically changes to connectors are motivated by The desire to alter non-functional properties such as distribution of components, fault-tolerance, efficiency, modifiability, etc. increased independence of sub-architectures in the face of potential failures improved performance The more powerful the connector the easier architectural change E.g., connectors supporting event-based communication What is the downside?
  • 16. Change in the Configuration Changes to the configuration of components and connectors represents fundamental change to a system’s architecture Effectively supporting such a modification requires working from an explicit model of the architecture Many dependencies between components will exist, and the architectural model is the basis for managing and preserving such relationships
  • 17. Change Agents and Context (1) Change Agents – Identity and Location The processes that carry out adaptation may be performed by human automated agents a combination thereof If an adaptation agent is part of a deployed application from the outset, the potential is present for an effective adaptation process Agent may have access to contextual information E.g., periodically a user of a desktop OS is notified when an OS or application upgrade is available
  • 18. Change Agents and Context (2) Knowledge Agent might need knowledge to mitigate adaptation risk Agent has to know the constraints that must be retained in the modified system If the system’s architectural design decisions have been violated, architectural recovery will be required Degree of Freedom Freedom that the engineer has in designing the changes Greater freedom  large solution space By learning the constraints of the system, the coherence of the architecture can be retained
  • 19. Time of Change Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 20. Architecture-Centric Adaptation In the absence of explicit architecture the engineer is left to reason about adaptation from memory from source code Architecture can serve as the primary focus of reasoning about potential adaptations Descriptive architecture is the reference point
  • 21. Conceptual Architecture for Adaptation From: “An Architecture-based Approach to Self-Adaptive Software”, Oreizy, et.al. IEEE Intelligent Systems, 14 (3), 1999.
  • 22. Activities, Agents, and Entities Adaptation management and evolution management can be separated into three types of activities Strategic refers to determining what to do Tactical refers to developing detailed plans for achieving the strategic goals Operations refers to the nuts-and-bolts of carrying out the detailed plans
  • 23. Strategy, Tactics, and Operations Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 24. Categories of Techniques Observing and collecting state Analyzing data and planning change Describing change descriptions Deploying change descriptions Effecting the change
  • 25. Architectures/Styles that Support Adaptation Explicit models First-class connectors Adaptable connectors M essage-based communication … others?
  • 26. Architectures/Styles Supporting Adaptation Application programming interfaces (API) Scripting languages Plug-ins Component/object architectures Event interfaces
  • 27. API-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 28. Plug-In Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 29. Component-Object Approach Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 30. Scripting-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 31. Event-Based Extension Software Architecture: Foundations, Theory, and Practice ; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
  • 32. The Special Problems of On-the-fly Change The principle of quiescence A node in the active state can initiate and respond to transactions. The state identified as necessary for reconfiguration is the passive state, node must respond to transaction not currently engaged in a transaction that it initiated it will not initiate new transactions