SlideShare ist ein Scribd-Unternehmen logo
1 von 31
RAPID SOFTWARE EVOLUTION Breaking the Cognitive Barrier
Plan ,[object Object],[object Object],[object Object],[object Object],[object Object]
 
Why Is Software Complex? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Functional Complexity ,[object Object],[object Object],[object Object],[object Object],[object Object]
… meaning ,[object Object],[object Object],[object Object],[object Object],[object Object]
Software Development ,[object Object],Computers Models Real World 2 1 3 ,[object Object],[object Object],[object Object]
Our Tools Divide and Conquer,  Modularity , Information Hiding, Encapsulation, Components, Reuse, Layers, Hierarchies, Stratification, Interfaces, Strict Boundaries,  Abstraction , Separation of Concerns, Low-Coupling, High-Cohesion, etc., etc. From Science and Industrial Engineering: [Recent recognition that software is different:  agile! ] Problem : it only takes use so far Essentially two core tools: abstraction and modularity
Abstraction R W W R D R D Abstraction of region D conditioned by  the abstraction of R –  Lock In !
Modularity – Good!
Reuse – Cool!
Modularity + Reuse=Hmm…
In Sum ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Computers are NOT digital
Why Evolution? ,[object Object],[object Object],[object Object],[object Object]
Evolutionary Strategy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Granularity
Towards an Evolutionary Platform ,[object Object],[object Object],[object Object],[object Object]
Alive, Living, Livable
Software Live Systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multi-paradigm Programming ,[object Object],[object Object],[object Object],[object Object]
Decentralization ,[object Object],[object Object],[object Object],[object Object],[object Object]
Knowledge Management ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Distributed Memory Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generalized Hypergraphs ,[object Object],[object Object],[object Object],[object Object]
Representation Schema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Examples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Niche Network function F(A, B, C)  ->  G(A.x, B) H(A.y, C) object A - field X - field Y function F(A, B, C)  ->  S(A.x, B, C) object A - field X  Etc… ,[object Object],[object Object],[object Object]
Evolutionary Dynamics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Typical Software Product Business Strict hierarchical structure where core product must absorb nearly all variability. Product Team Customer 4 Customer 3 Customer 2 Customer 1 Solutions Team B Solutions Team A
A Niche Cluster Uniformity abandoned – the decentralized network better reflects the variety of the (market/business) environment. Solutions Team A Solutions Team B Solutions Team C Customer 1 Customer 3 Customer 2 Customer 4 Solutions Team D
[object Object],[object Object],[object Object],[object Object],Thank You!

Weitere ähnliche Inhalte

Was ist angesagt?

Map reduce advantages over parallel databases report
Map reduce advantages over parallel databases reportMap reduce advantages over parallel databases report
Map reduce advantages over parallel databases reportAhmad El Tawil
 
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...Gezim Sejdiu
 
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionPivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionEMC
 
MAD skills for analysis and big data Machine Learning
MAD skills for analysis and big data Machine LearningMAD skills for analysis and big data Machine Learning
MAD skills for analysis and big data Machine LearningGianvito Siciliano
 
Efficient Distributed In-Memory Processing of RDF Datasets - PhD Viva
Efficient Distributed In-Memory Processing of RDF Datasets - PhD VivaEfficient Distributed In-Memory Processing of RDF Datasets - PhD Viva
Efficient Distributed In-Memory Processing of RDF Datasets - PhD VivaGezim Sejdiu
 
Artificial Intelligence for Data Quality
Artificial Intelligence for Data QualityArtificial Intelligence for Data Quality
Artificial Intelligence for Data QualityVera Ekimenko
 
ModelDR - the tool that untangles complex information
ModelDR - the tool that untangles complex informationModelDR - the tool that untangles complex information
ModelDR - the tool that untangles complex informationSimon Roberts
 
How Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionHow Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionLuca Garulli
 
Hybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsHybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsPeter Haase
 
51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data Stack51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data StackGeoffrey Fox
 
Functional programming
 for optimization problems 
in Big Data
Functional programming
  for optimization problems 
in Big DataFunctional programming
  for optimization problems 
in Big Data
Functional programming
 for optimization problems 
in Big DataPaco Nathan
 
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...Jean Ihm
 
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataBuild Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataJean Ihm
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Jean Ihm
 
How To Visualize Graphs
How To Visualize GraphsHow To Visualize Graphs
How To Visualize GraphsJean Ihm
 
The Vision for Graph Database from Postgres
The Vision for Graph Database from PostgresThe Vision for Graph Database from Postgres
The Vision for Graph Database from PostgresEDB
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
 
DICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyDICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyCloudify Community
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data SciencePouria Amirian
 

Was ist angesagt? (20)

AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
 
Map reduce advantages over parallel databases report
Map reduce advantages over parallel databases reportMap reduce advantages over parallel databases report
Map reduce advantages over parallel databases report
 
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...
The Best of Both Worlds: Unlocking the Power of (big) Knowledge Graphs with S...
 
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in ActionPivotal: Data Scientists on the Front Line: Examples of Data Science in Action
Pivotal: Data Scientists on the Front Line: Examples of Data Science in Action
 
MAD skills for analysis and big data Machine Learning
MAD skills for analysis and big data Machine LearningMAD skills for analysis and big data Machine Learning
MAD skills for analysis and big data Machine Learning
 
Efficient Distributed In-Memory Processing of RDF Datasets - PhD Viva
Efficient Distributed In-Memory Processing of RDF Datasets - PhD VivaEfficient Distributed In-Memory Processing of RDF Datasets - PhD Viva
Efficient Distributed In-Memory Processing of RDF Datasets - PhD Viva
 
Artificial Intelligence for Data Quality
Artificial Intelligence for Data QualityArtificial Intelligence for Data Quality
Artificial Intelligence for Data Quality
 
ModelDR - the tool that untangles complex information
ModelDR - the tool that untangles complex informationModelDR - the tool that untangles complex information
ModelDR - the tool that untangles complex information
 
How Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolutionHow Graph Databases started the Multi Model revolution
How Graph Databases started the Multi Model revolution
 
Hybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge GraphsHybrid Enterprise Knowledge Graphs
Hybrid Enterprise Knowledge Graphs
 
51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data Stack51 Use Cases and implications for HPC & Apache Big Data Stack
51 Use Cases and implications for HPC & Apache Big Data Stack
 
Functional programming
 for optimization problems 
in Big Data
Functional programming
  for optimization problems 
in Big DataFunctional programming
  for optimization problems 
in Big Data
Functional programming
 for optimization problems 
in Big Data
 
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
How To Model and Construct Graphs with Oracle Database (AskTOM Office Hours p...
 
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your DataBuild Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
Build Knowledge Graphs with Oracle RDF to Extract More Value from Your Data
 
Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1) Introduction to Property Graph Features (AskTOM Office Hours part 1)
Introduction to Property Graph Features (AskTOM Office Hours part 1)
 
How To Visualize Graphs
How To Visualize GraphsHow To Visualize Graphs
How To Visualize Graphs
 
The Vision for Graph Database from Postgres
The Vision for Graph Database from PostgresThe Vision for Graph Database from Postgres
The Vision for Graph Database from Postgres
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model Databases
 
DICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made EasyDICE & Cloudify – Quality Big Data Made Easy
DICE & Cloudify – Quality Big Data Made Easy
 
Data Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data ScienceData Science as a Service: Intersection of Cloud Computing and Data Science
Data Science as a Service: Intersection of Cloud Computing and Data Science
 

Andere mochten auch

Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFJose Emilio Labra Gayo
 
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationHiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationMuhammad Saleem
 
Hypergraph Models of Playlist Dialects
Hypergraph Models of Playlist DialectsHypergraph Models of Playlist Dialects
Hypergraph Models of Playlist DialectsBrian McFee
 
HyperGraphDb
HyperGraphDbHyperGraphDb
HyperGraphDbborislav
 
Elect principles -_ac_circuits_year1
Elect principles -_ac_circuits_year1Elect principles -_ac_circuits_year1
Elect principles -_ac_circuits_year1sdacey
 
Single phase AC circuits
Single phase AC circuitsSingle phase AC circuits
Single phase AC circuitsPranav Gupta
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataFabien Gandon
 

Andere mochten auch (8)

Inductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDFInductive Triple Graphs: A purely functional approach to represent RDF
Inductive Triple Graphs: A purely functional approach to represent RDF
 
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint FederationHiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
HiBISCuS: Hypergraph-Based Source Selection for SPARQL Endpoint Federation
 
Hypergraph Models of Playlist Dialects
Hypergraph Models of Playlist DialectsHypergraph Models of Playlist Dialects
Hypergraph Models of Playlist Dialects
 
HyperGraphDb
HyperGraphDbHyperGraphDb
HyperGraphDb
 
RDF and OWL
RDF and OWLRDF and OWL
RDF and OWL
 
Elect principles -_ac_circuits_year1
Elect principles -_ac_circuits_year1Elect principles -_ac_circuits_year1
Elect principles -_ac_circuits_year1
 
Single phase AC circuits
Single phase AC circuitsSingle phase AC circuits
Single phase AC circuits
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 

Ähnlich wie Rapid software evolution

11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16Rajes Wari
 
Software Design
Software Design Software Design
Software Design Anas Bilal
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
Software engineering
Software engineeringSoftware engineering
Software engineeringFahe Em
 
Software engineering
Software engineeringSoftware engineering
Software engineeringFahe Em
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_designMajong DevJfu
 
Management of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsManagement of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsMichael Heiss
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: OverviewGeoffrey Fox
 
07 software design
07   software design07   software design
07 software designkebsterz
 
07 software design
07   software design07   software design
07 software designkebsterz
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
 
0329.emccormi.ppt
0329.emccormi.ppt0329.emccormi.ppt
0329.emccormi.pptchmeghana1
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 
A.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in EngineeringA.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in EngineeringAnatoly Levenchuk
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020Ralf Laemmel
 

Ähnlich wie Rapid software evolution (20)

11.3.14&22.1.16
11.3.14&22.1.1611.3.14&22.1.16
11.3.14&22.1.16
 
Software Design
Software Design Software Design
Software Design
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Software design i (2) (1)
Software design   i (2) (1)Software design   i (2) (1)
Software design i (2) (1)
 
06 styles and_greenfield_design
06 styles and_greenfield_design06 styles and_greenfield_design
06 styles and_greenfield_design
 
Management of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT SolutionsManagement of Complexity in System Design of Large IT Solutions
Management of Complexity in System Design of Large IT Solutions
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
Ch09
Ch09Ch09
Ch09
 
Ch09
Ch09Ch09
Ch09
 
Sw Software Design
Sw Software DesignSw Software Design
Sw Software Design
 
07 software design
07   software design07   software design
07 software design
 
07 software design
07   software design07   software design
07 software design
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
Software Engineering 101
Software Engineering 101Software Engineering 101
Software Engineering 101
 
0329.emccormi.ppt
0329.emccormi.ppt0329.emccormi.ppt
0329.emccormi.ppt
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 
A.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in EngineeringA.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in Engineering
 
Keynote at-icpc-2020
Keynote at-icpc-2020Keynote at-icpc-2020
Keynote at-icpc-2020
 

Rapid software evolution

  • 1. RAPID SOFTWARE EVOLUTION Breaking the Cognitive Barrier
  • 2.
  • 3.  
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Our Tools Divide and Conquer, Modularity , Information Hiding, Encapsulation, Components, Reuse, Layers, Hierarchies, Stratification, Interfaces, Strict Boundaries, Abstraction , Separation of Concerns, Low-Coupling, High-Cohesion, etc., etc. From Science and Industrial Engineering: [Recent recognition that software is different: agile! ] Problem : it only takes use so far Essentially two core tools: abstraction and modularity
  • 9. Abstraction R W W R D R D Abstraction of region D conditioned by the abstraction of R – Lock In !
  • 13.
  • 14. Computers are NOT digital
  • 15.
  • 16.
  • 17.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29. A Typical Software Product Business Strict hierarchical structure where core product must absorb nearly all variability. Product Team Customer 4 Customer 3 Customer 2 Customer 1 Solutions Team B Solutions Team A
  • 30. A Niche Cluster Uniformity abandoned – the decentralized network better reflects the variety of the (market/business) environment. Solutions Team A Solutions Team B Solutions Team C Customer 1 Customer 3 Customer 2 Customer 4 Solutions Team D
  • 31.