SlideShare a Scribd company logo
1 of 28
“Great designs come from great designers” - F. P. Brooks




Adaptivity in Software Architecture
Who?
• Angelo van der Sijpt
     • Software engineer
     • Fontys Eindhoven, Computer Science, 2003
     • TU Eindhoven, Computer Science and Engineering,
       2007




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   2
Who?
• luminis
     • 25 employees
     • Arnhem, Enschede
     • Innovative software
     • In-house and at customer
     • Share knowledge




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   3
Adaptivity
                    in
                    Software Architecture



luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   4
Associations
•   Robustness
•   Intelligence
•   Scalability
•   Flexibility
•   Autonomy




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   5
What is adaptivity?
• “Any sufficiently advanced technology is
  indistinguishable from magic.” –Arthur C. Clarke




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   6
What is adaptivity?
• “Any sufficiently advanced technology is
  indistinguishable from magic.” –Arthur C. Clarke
• Adaptivity is
     • Something we ‘know when we see it’
     • But we cannot point it out
     • Something desirable




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   6
Emergence




www.robbaker.org

                                                   http://en.wikipedia.org/wiki/Internet

luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt                 7
Redundancy
• What?
     • Making elements expendable


• Current examples
     • P2P systems, backups, RAID


• Issues
     • No guarantees
     • How to shut down?


luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   8
Decoupling
• Localizing effects
• “Something has to give”




                                                http://flickr.com/photos/33006928@N00/32979973/



luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt                       9
Service awareness
• Everything is a resource
     • Use when available, cope when not


• Trading, e.g.
     • correctness for reliability
     • quality for availability




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   10
Parallelizability & Distributability
• Some trends
     • Multi-core systems
     • Mobile equipment
     • Increased networking




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   11
Scalability




                                                               Qu
                                           ce


                                                                  ali
                                         an



                                                                     ty
                                     orm




                                                                        of
                                                                             se
                                   rf
                                Pe




                                                                               rvi
                                                                                  ce
                                 Resource consumption

luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt             12
Adaptivity
                    in
                    Software Architecture



luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   13
A concept
• What exactly is a concept?
     • A fundamental choice of focus
     • Could be a choice of technology, but underlying
       this is likely something else.
     • We can bind concepts together to form styles,
     • or to form architectures




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   14
From concept to architecture




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   15
From concept to architecture




                                                                             Style
       Architecture

                                                 Concept




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt           15
From concept to architecture
                          Quality factor




                                                                             Style
       Architecture

                                                 Concept



           Artifact


luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt           15
From concept to architecture
                          Quality factor                                             Nonfunctional




                                                                             Style
       Architecture

                                                 Concept



           Artifact                                                                     System


luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt                       15
Adaptivity and software architecture?
• Useful styles
     • Event based
     • P2P
     • SOA


• Measurable by concepts, but corresponding with
  intuition




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   16
Adaptivity
                    in
                    Software Architecture



luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   17
Whoops...
• Concepts...
     • capture intuition, and
     • are ‘recognizable’




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   18
Whoops...
• Concepts...
     • capture intuition, and
     • are ‘recognizable’


• But...
     • are not ‘creatable’, and
     • do not correspond to methods




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   18
Yes, there is a problem
• There are no fool-proof methods
• Still, there are many projects that end more or
  less satisfactory. Why?




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   19
Yes, there is a problem
• There are no fool-proof methods
• Still, there are many projects that end more or
  less satisfactory. Why?

• People




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   19
Any advice?
• Continue progress, but do not look for a silver
  bullet.
• Be aware of oversimplification. Creating good
  software is hard.
• Trust good people!




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   20
In the end

• Flexible, adaptive software needs a new way of
  making it.




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   21
Angelo van der Sijpt
                       angelo.vandersijpt@luminis.nl

   “Adaptivity in Software Architecture”, TU/e, 2007
                   tue.nl/bibliotheek




luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt   22

More Related Content

Similar to Apeldoorn It 2008 - Adaptiviteit In Software Architectuur

I progetti nei contesti Lean - Agile Project Management: un caso reale
I progetti nei contesti Lean - Agile Project Management: un caso realeI progetti nei contesti Lean - Agile Project Management: un caso reale
I progetti nei contesti Lean - Agile Project Management: un caso realeFondazione CUOA
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPAmit Midha
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPAmit Midha
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Service-Oriented Architecture for Libraries
Service-Oriented Architecture for LibrariesService-Oriented Architecture for Libraries
Service-Oriented Architecture for LibrariesRichard Akerman
 
Saf08 Growing Architects Kevin Francis
Saf08 Growing Architects   Kevin FrancisSaf08 Growing Architects   Kevin Francis
Saf08 Growing Architects Kevin FrancisKevin Francis
 
Applying reference models with archi mate
Applying reference models with archi mateApplying reference models with archi mate
Applying reference models with archi mateBas van Gils
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software ArchitectureKannan Durairaj
 
#FiaComit - The Mobicloud Showcase
#FiaComit - The Mobicloud Showcase#FiaComit - The Mobicloud Showcase
#FiaComit - The Mobicloud ShowcaseComit Projects Ltd
 
Subverting the monolith!
Subverting the monolith!Subverting the monolith!
Subverting the monolith!Sophia Russell
 
Managin business process in microservice architecture
Managin business process in microservice architectureManagin business process in microservice architecture
Managin business process in microservice architecturezeynelkocak
 
What is Enterprise Architecture?
What is Enterprise Architecture?What is Enterprise Architecture?
What is Enterprise Architecture?Brett Colbert
 
What Is Your PLM Challenge - Decrease design time, increase product performan...
What Is Your PLM Challenge - Decrease design time, increase product performan...What Is Your PLM Challenge - Decrease design time, increase product performan...
What Is Your PLM Challenge - Decrease design time, increase product performan...Dawn Collins
 
The Evolution of Industrial Visualization
The Evolution of Industrial VisualizationThe Evolution of Industrial Visualization
The Evolution of Industrial VisualizationInductive Automation
 
Ian_Sommerville_Software_Engineering_6th.pdf
Ian_Sommerville_Software_Engineering_6th.pdfIan_Sommerville_Software_Engineering_6th.pdf
Ian_Sommerville_Software_Engineering_6th.pdfjyotineeli1
 
OpenERP - PLM, Omnia Solutions
OpenERP - PLM, Omnia SolutionsOpenERP - PLM, Omnia Solutions
OpenERP - PLM, Omnia SolutionsOdoo
 

Similar to Apeldoorn It 2008 - Adaptiviteit In Software Architectuur (20)

I progetti nei contesti Lean - Agile Project Management: un caso reale
I progetti nei contesti Lean - Agile Project Management: un caso realeI progetti nei contesti Lean - Agile Project Management: un caso reale
I progetti nei contesti Lean - Agile Project Management: un caso reale
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
 
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOPINTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
INTRODUCTION TO SOFTWARE ARCHITECTURE-TRAINING WORKSHOP
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Unit1
Unit1Unit1
Unit1
 
Service-Oriented Architecture for Libraries
Service-Oriented Architecture for LibrariesService-Oriented Architecture for Libraries
Service-Oriented Architecture for Libraries
 
Saf08 Growing Architects Kevin Francis
Saf08 Growing Architects   Kevin FrancisSaf08 Growing Architects   Kevin Francis
Saf08 Growing Architects Kevin Francis
 
Applying reference models with archi mate
Applying reference models with archi mateApplying reference models with archi mate
Applying reference models with archi mate
 
Modern Agile Software Architecture
Modern Agile Software ArchitectureModern Agile Software Architecture
Modern Agile Software Architecture
 
#FiaComit - The Mobicloud Showcase
#FiaComit - The Mobicloud Showcase#FiaComit - The Mobicloud Showcase
#FiaComit - The Mobicloud Showcase
 
Subverting the monolith!
Subverting the monolith!Subverting the monolith!
Subverting the monolith!
 
Managin business process in microservice architecture
Managin business process in microservice architectureManagin business process in microservice architecture
Managin business process in microservice architecture
 
Ch1
Ch1Ch1
Ch1
 
What is Enterprise Architecture?
What is Enterprise Architecture?What is Enterprise Architecture?
What is Enterprise Architecture?
 
What Is Your PLM Challenge - Decrease design time, increase product performan...
What Is Your PLM Challenge - Decrease design time, increase product performan...What Is Your PLM Challenge - Decrease design time, increase product performan...
What Is Your PLM Challenge - Decrease design time, increase product performan...
 
The Evolution of Industrial Visualization
The Evolution of Industrial VisualizationThe Evolution of Industrial Visualization
The Evolution of Industrial Visualization
 
Ian_Sommerville_Software_Engineering_6th.pdf
Ian_Sommerville_Software_Engineering_6th.pdfIan_Sommerville_Software_Engineering_6th.pdf
Ian_Sommerville_Software_Engineering_6th.pdf
 
software engineering ch-1
software engineering ch-1software engineering ch-1
software engineering ch-1
 
The Future of PLM
The Future of PLMThe Future of PLM
The Future of PLM
 
OpenERP - PLM, Omnia Solutions
OpenERP - PLM, Omnia SolutionsOpenERP - PLM, Omnia Solutions
OpenERP - PLM, Omnia Solutions
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
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 2024The Digital Insurer
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
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...apidays
 
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...Martijn de Jong
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
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.pptxRustici Software
 
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 FMESafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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 AmsterdamUiPathCommunity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 connectorsNanddeep Nachan
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 

Recently uploaded (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].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
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
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...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

Apeldoorn It 2008 - Adaptiviteit In Software Architectuur

  • 1. “Great designs come from great designers” - F. P. Brooks Adaptivity in Software Architecture
  • 2. Who? • Angelo van der Sijpt • Software engineer • Fontys Eindhoven, Computer Science, 2003 • TU Eindhoven, Computer Science and Engineering, 2007 luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 2
  • 3. Who? • luminis • 25 employees • Arnhem, Enschede • Innovative software • In-house and at customer • Share knowledge luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 3
  • 4. Adaptivity in Software Architecture luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 4
  • 5. Associations • Robustness • Intelligence • Scalability • Flexibility • Autonomy luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 5
  • 6. What is adaptivity? • “Any sufficiently advanced technology is indistinguishable from magic.” –Arthur C. Clarke luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 6
  • 7. What is adaptivity? • “Any sufficiently advanced technology is indistinguishable from magic.” –Arthur C. Clarke • Adaptivity is • Something we ‘know when we see it’ • But we cannot point it out • Something desirable luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 6
  • 8. Emergence www.robbaker.org http://en.wikipedia.org/wiki/Internet luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 7
  • 9. Redundancy • What? • Making elements expendable • Current examples • P2P systems, backups, RAID • Issues • No guarantees • How to shut down? luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 8
  • 10. Decoupling • Localizing effects • “Something has to give” http://flickr.com/photos/33006928@N00/32979973/ luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 9
  • 11. Service awareness • Everything is a resource • Use when available, cope when not • Trading, e.g. • correctness for reliability • quality for availability luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 10
  • 12. Parallelizability & Distributability • Some trends • Multi-core systems • Mobile equipment • Increased networking luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 11
  • 13. Scalability Qu ce ali an ty orm of se rf Pe rvi ce Resource consumption luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 12
  • 14. Adaptivity in Software Architecture luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 13
  • 15. A concept • What exactly is a concept? • A fundamental choice of focus • Could be a choice of technology, but underlying this is likely something else. • We can bind concepts together to form styles, • or to form architectures luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 14
  • 16. From concept to architecture luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 15
  • 17. From concept to architecture Style Architecture Concept luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 15
  • 18. From concept to architecture Quality factor Style Architecture Concept Artifact luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 15
  • 19. From concept to architecture Quality factor Nonfunctional Style Architecture Concept Artifact System luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 15
  • 20. Adaptivity and software architecture? • Useful styles • Event based • P2P • SOA • Measurable by concepts, but corresponding with intuition luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 16
  • 21. Adaptivity in Software Architecture luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 17
  • 22. Whoops... • Concepts... • capture intuition, and • are ‘recognizable’ luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 18
  • 23. Whoops... • Concepts... • capture intuition, and • are ‘recognizable’ • But... • are not ‘creatable’, and • do not correspond to methods luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 18
  • 24. Yes, there is a problem • There are no fool-proof methods • Still, there are many projects that end more or less satisfactory. Why? luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 19
  • 25. Yes, there is a problem • There are no fool-proof methods • Still, there are many projects that end more or less satisfactory. Why? • People luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 19
  • 26. Any advice? • Continue progress, but do not look for a silver bullet. • Be aware of oversimplification. Creating good software is hard. • Trust good people! luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 20
  • 27. In the end • Flexible, adaptive software needs a new way of making it. luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 21
  • 28. Angelo van der Sijpt angelo.vandersijpt@luminis.nl “Adaptivity in Software Architecture”, TU/e, 2007 tue.nl/bibliotheek luminis® 2008 - Adaptivity in Software Architecture - Angelo van der Sijpt 22

Editor's Notes

  1. Gee, hey, welcome. What do you expect this workshop will be about? Oh, and please do interrupt me. About this presentation: I want to look at adaptivity from a number of angles, show the six concepts written up recently, and arrive show that concepts as these are valid ‘input’ for an architecture process. Finally, this examples shows that the current ways of creating software might very well be the wrong ones. This presentation is roughly based on ‘An engineer is not a carpenter’ and ‘Architecting adaptive software’
  2. Any Associations? (It is not about adapting an architecture, it is about catching adaptive behavior in a system’s architecture. No, architecture does not change.)
  3. Adaptivity leads to visions of autonomous robots that ‘do their own thing’ in a self sufficient way. Hardware is, of course, important, but we are reaching the limits of the complexity of software we can handle. Example: IP routing. It is in essence very simple, but it displays seemingly intelligent behavior. This is all by design, but not from its architecture.
  4. Basically, adaptivity is something we can recognize, but cannot point out or engineer; it does not really exist, but is an artifact of other concepts. Coming next: those concepts!
  5. Basically, adaptivity is something we can recognize, but cannot point out or engineer; it does not really exist, but is an artifact of other concepts. Coming next: those concepts!
  6. Left: Safari ants. Soldiers create a tunnel for other ants to pass under when the colony migrates. Right: Partial internet topology, 2005 Binding: noone is ‘the boss’ Even simple combined behavior gets way over our head. ‘sufficient complexity’ & ‘balance in rules’
  7. Ring of uselessness. In stead, we should not be interested in adding superfluous components, but how to make components in such a way that the can be superfluous Technology has some nice examples, but so does nature (species) and society (culture). However, we could lose determinism.
  8. Stuff that breaks is not bad. Stuff that breaks and breaks the system, is. We want to localize the effect: analogy of a guitar string. Interfaces as a part of OO are a step in the right direction, but they try to localize effects in a single component.
  9. Examples: Google news, audio system Coping with changes in the available services a basic component of service frameworks; however, it can easily be misused.
  10. Together, these trends lead to many sort-of isolated elements of calculation, which we might want to work together. (Vision: only use processing power when we really need it, and adopt it to our surroundings when not) (IBM stated in the 50’s that there would be a world market for 5 computers. It might even be 1.)
  11. Redundancy allows us to make systems either more reliable, or bigger, or cheaper. Ideally, we want to be able to trade these. We saw something similar in resource consumption. Combination of other concepts, but that also means that it could be harder to create.
  12. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  13. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  14. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  15. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  16. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  17. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  18. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  19. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  20. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  21. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  22. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  23. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  24. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  25. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  26. Bottomline: we use concepts as binding and defining entities. Concepts are the core, those fundamental focus points and choices. A set of concepts can form an architecture, but also a style; architectural styles are sets of concepts which have proven to work together well, or at least have known properties. Artifacts embody the architecture. Creating ‘good’ artifacts is a matter of alignment. Both architectures and styles can display quality factors (‘ilities’). For styles, these are ‘knowns’, for architectures, they are measured. Finally, artifacts together make up a system, which displays non-functional properties (even more ilities). Interesting: what is the link between concepts and quality factors, and between quality factors and non-functionals.
  27. Guess what, those are fashionable styles!
  28. We don’t want to go from small to large,but the other way around! We don’t want unpredictability! - Formalization doesn’t cut it - An engineer is not a carpenter - Software is not wood, and the engineer is not the ‘worker’ - Is software engineering really engineering?
  29. We don’t want to go from small to large,but the other way around! We don’t want unpredictability! - Formalization doesn’t cut it - An engineer is not a carpenter - Software is not wood, and the engineer is not the ‘worker’ - Is software engineering really engineering?
  30. We don’t want to go from small to large,but the other way around! We don’t want unpredictability! - Formalization doesn’t cut it - An engineer is not a carpenter - Software is not wood, and the engineer is not the ‘worker’ - Is software engineering really engineering?
  31. Wickedness: describing the problem is the problem, no stopping rule, one-shot
  32. Wickedness: describing the problem is the problem, no stopping rule, one-shot
  33. Wickedness: describing the problem is the problem, no stopping rule, one-shot
  34. Wickedness: describing the problem is the problem, no stopping rule, one-shot
  35. Trust those good people. give them room, and do not think they are expendable and replaceable.