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

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

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.