SlideShare une entreprise Scribd logo
1  sur  31
Software Architecture Tutorial #8




                                    Dawand Sulaiman
                                         110019756
Architecture-Based Runtime
    Software Evolution
   Air traffic control systems
   Telephone switching

                      Unacceptable
                                           Increased cost
                         delays

                                   Shut down &
                                  restart system

                          Losing
                                             Any other?
                        customers
   Shifts developer focus away from lines-of-
    code to coarse-grained components and
    overall interconnection structure.
   Enables system designers to focus on the “big
    picture”
   Explicit modeling of

           Govern interactions   Minimize component
           among components      interdependencies
1.   Changes to system requirements
2.   Changes to system implementation



             Runtime Software
             Evolution supports
             both type of
             changes.
   Postponing updates until the next scheduled
    downtime
   Web Servers to redirect traffic to a redundant
    host
   Modeling changes at the statement in
    imperative programming languages (redefine
    variables if affected by a change)
   Weaves (passing object references i.e.,
    pointers)
   Corrective evolution
     Remove software faults


   Perfective evolution
     Enhance product functionality


   Adaptive evolution
     To run in a new environment
   Perfective evolution
   Observer design pattern
   State of the added component

   Example: Adobe Photoshop plug-in
   Remove unneeded behavior
   Application-specific
   Two conditions are required:
     The state of the executing component must be
      transferred to the new component
     Both components must not be simultaneously
      active during the change
   Recombining existing functionality to modify
    overall system behavior
   Altering connector bindings

   Example: UNIX’s pipe and filter
   Components

   Connectors
   Treating components’ internal structure as a
    black box
   Components should not communicate by
    directly referencing one another
   Each component must provide a minimal
    amount of functional behavior to participate
    in runtime change
   Connectors separate a component’s
    interfacing requirements from its functional
    requirements

   Connector purposes:
     Specifying communication mechanism
     Visualizing and debugging system behavior
     Integrating tools
   Layered, event-based architectural style C2
   All communication among components
    occurs via connectors.
   Every C2 component has top and bottom
    sides, each side has a single port
   Every C2 connector has top and bottom
    sides, but the number of ports is
    determined by the components attached to it
   Explicit architectural model
     Interconnection between components and
     connectors, and their mappings to
     implementation modules.
   Describing runtime change
     Modification description uses operations for
     adding and removing components and
     connectors, replacing components and
     connectors, and changing the architectural
     topology
   Governing runtime change
     Constrains play a natural role in governing
     change. Mechanisms governing runtime change
     should also contain when particular changes may
     occur
   Reusable runtime architecture infrastructure
     Maintains the consistency between the
     architectural model and implementation as
     modifications are applied
   Java C2 class framework
   Fundamental C2 concepts: components,
    connectors, and messages
   Current implementation encapsulates
    architectural model in an Abstract Data Type
    (ADT)
   Correspondence between Architectural
    Model and Implementation
   Determines whether the modification is valid
    (architectural constraint mechanism or
    external analysis tool )

   AEM of C2-style rules constrain changes
   Argo
     Graphical depiction of the architectural model
   ArchShell
     Textual, command-driven interface for specifying
     runtime modifications
   Extension Wizard
     Deploy modifications to end-users
A simple logistic system for routing incoming
                  cargo to a set of warehouses
 add component
  ClassName: c2.planner.RouterArtist
  Name? RouterArtistist
 weld
  Topentity: Connector1
  Bottom entity: RouterArtist
 weld
  Topentity: RouterArtist
  Bottomentity: Connector4
 start
  Entity: RouterArtistist
1.   All components and connectors must be
     written in Java C2 class framework.
2.   Components addition, removal and
     Architectural Model reconfiguration are
     supported by not Component Replacement.
3.   Only checks invariants derived from the C2-
     style rules.
Soft arch archevol

Contenu connexe

Tendances

Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architectures
Saransh Garg
 
Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...
Tiago Oliveira
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
Emmanuel Fuchs
 
Requirement configuration management
Requirement configuration managementRequirement configuration management
Requirement configuration management
Abdul Basit
 

Tendances (20)

Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
Cbt component based technology architectures
Cbt   component based technology architecturesCbt   component based technology architectures
Cbt component based technology architectures
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Ch19
Ch19Ch19
Ch19
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systems
 
Ch16 component based software engineering
Ch16 component based software engineeringCh16 component based software engineering
Ch16 component based software engineering
 
safety assurence in process control
safety assurence in process controlsafety assurence in process control
safety assurence in process control
 
Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...Transformation of simulink models to iec 61499 function blocks for verificati...
Transformation of simulink models to iec 61499 function blocks for verificati...
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
 
Requirement configuration management
Requirement configuration managementRequirement configuration management
Requirement configuration management
 
Approaches to Software Development
Approaches to Software DevelopmentApproaches to Software Development
Approaches to Software Development
 
Software Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse EngineeringSoftware Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse Engineering
 
Ian Sommerville, Software Engineering, 9th Edition Ch1
Ian Sommerville,  Software Engineering, 9th Edition Ch1Ian Sommerville,  Software Engineering, 9th Edition Ch1
Ian Sommerville, Software Engineering, 9th Edition Ch1
 
software re-engineering
software re-engineeringsoftware re-engineering
software re-engineering
 
Engineering Software Products: 10. Devops and code management
Engineering Software Products: 10. Devops and code managementEngineering Software Products: 10. Devops and code management
Engineering Software Products: 10. Devops and code management
 
Software reengineering
Software reengineeringSoftware reengineering
Software reengineering
 
Ch25 configuration management
Ch25 configuration managementCh25 configuration management
Ch25 configuration management
 

Similaire à Soft arch archevol

SDN Federation White Paper
SDN Federation White PaperSDN Federation White Paper
SDN Federation White Paper
Brian Hedstrom
 

Similaire à Soft arch archevol (20)

Lec 4.ppt
Lec 4.pptLec 4.ppt
Lec 4.ppt
 
Netkit
NetkitNetkit
Netkit
 
Parallel verification of software architecture design
Parallel verification of software architecture designParallel verification of software architecture design
Parallel verification of software architecture design
 
Ia rm001 -en-p
Ia rm001 -en-pIa rm001 -en-p
Ia rm001 -en-p
 
ESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-EngineeringESF .NET - Accelerated Framework for Enterprise System Re-Engineering
ESF .NET - Accelerated Framework for Enterprise System Re-Engineering
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 
Chapter1
Chapter1Chapter1
Chapter1
 
STATE-MANAGEMENT-IN-FLUTTER-TECHNOLOGY.pptx
STATE-MANAGEMENT-IN-FLUTTER-TECHNOLOGY.pptxSTATE-MANAGEMENT-IN-FLUTTER-TECHNOLOGY.pptx
STATE-MANAGEMENT-IN-FLUTTER-TECHNOLOGY.pptx
 
Ch2-2.pptx
Ch2-2.pptxCh2-2.pptx
Ch2-2.pptx
 
Ch10
Ch10Ch10
Ch10
 
Ch10
Ch10Ch10
Ch10
 
Lecture-12-Architecture Design.pptx
Lecture-12-Architecture Design.pptxLecture-12-Architecture Design.pptx
Lecture-12-Architecture Design.pptx
 
software design: design fundamentals.pptx
software design: design fundamentals.pptxsoftware design: design fundamentals.pptx
software design: design fundamentals.pptx
 
04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx04_Materi Software Proses-Models(1).pptx
04_Materi Software Proses-Models(1).pptx
 
Unit-3.doc
Unit-3.docUnit-3.doc
Unit-3.doc
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
SDN Federation White Paper
SDN Federation White PaperSDN Federation White Paper
SDN Federation White Paper
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
 
Ria Mvc
Ria MvcRia Mvc
Ria Mvc
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Soft arch archevol

  • 1. Software Architecture Tutorial #8 Dawand Sulaiman 110019756
  • 2. Architecture-Based Runtime Software Evolution
  • 3. Air traffic control systems  Telephone switching Unacceptable Increased cost delays Shut down & restart system Losing Any other? customers
  • 4. Shifts developer focus away from lines-of- code to coarse-grained components and overall interconnection structure.  Enables system designers to focus on the “big picture”  Explicit modeling of Govern interactions Minimize component among components interdependencies
  • 5. 1. Changes to system requirements 2. Changes to system implementation Runtime Software Evolution supports both type of changes.
  • 6. Postponing updates until the next scheduled downtime  Web Servers to redirect traffic to a redundant host  Modeling changes at the statement in imperative programming languages (redefine variables if affected by a change)  Weaves (passing object references i.e., pointers)
  • 7. Corrective evolution  Remove software faults  Perfective evolution  Enhance product functionality  Adaptive evolution  To run in a new environment
  • 8. Perfective evolution  Observer design pattern  State of the added component  Example: Adobe Photoshop plug-in
  • 9. Remove unneeded behavior  Application-specific
  • 10. Two conditions are required:  The state of the executing component must be transferred to the new component  Both components must not be simultaneously active during the change
  • 11. Recombining existing functionality to modify overall system behavior  Altering connector bindings  Example: UNIX’s pipe and filter
  • 12. Components  Connectors
  • 13. Treating components’ internal structure as a black box  Components should not communicate by directly referencing one another  Each component must provide a minimal amount of functional behavior to participate in runtime change
  • 14. Connectors separate a component’s interfacing requirements from its functional requirements  Connector purposes:  Specifying communication mechanism  Visualizing and debugging system behavior  Integrating tools
  • 15. Layered, event-based architectural style C2  All communication among components occurs via connectors.  Every C2 component has top and bottom sides, each side has a single port  Every C2 connector has top and bottom sides, but the number of ports is determined by the components attached to it
  • 16. Explicit architectural model  Interconnection between components and connectors, and their mappings to implementation modules.  Describing runtime change  Modification description uses operations for adding and removing components and connectors, replacing components and connectors, and changing the architectural topology
  • 17. Governing runtime change  Constrains play a natural role in governing change. Mechanisms governing runtime change should also contain when particular changes may occur  Reusable runtime architecture infrastructure  Maintains the consistency between the architectural model and implementation as modifications are applied
  • 18.
  • 19. Java C2 class framework  Fundamental C2 concepts: components, connectors, and messages  Current implementation encapsulates architectural model in an Abstract Data Type (ADT)
  • 20.
  • 21. Correspondence between Architectural Model and Implementation  Determines whether the modification is valid (architectural constraint mechanism or external analysis tool )  AEM of C2-style rules constrain changes
  • 22. Argo  Graphical depiction of the architectural model  ArchShell  Textual, command-driven interface for specifying runtime modifications  Extension Wizard  Deploy modifications to end-users
  • 23.
  • 24. A simple logistic system for routing incoming cargo to a set of warehouses
  • 25.
  • 26.  add component ClassName: c2.planner.RouterArtist Name? RouterArtistist  weld Topentity: Connector1 Bottom entity: RouterArtist  weld Topentity: RouterArtist Bottomentity: Connector4  start Entity: RouterArtistist
  • 27.
  • 28.
  • 29.
  • 30. 1. All components and connectors must be written in Java C2 class framework. 2. Components addition, removal and Architectural Model reconfiguration are supported by not Component Replacement. 3. Only checks invariants derived from the C2- style rules.