the liquid computing paradigm

17
The Liquid Computing Paradigm Thomas Gabor and Matthias H¨ olzl Lehr- und Forschungseinheit Programmierung & Softwaretechnik Ludwig-Maximilians-Universit¨ at M¨ unchen Steering Complex Adaptive Systems & Fundamentals of Collective Adaptive Systems 20th July 2015, European Conference on Artificial Life 2015, University of York

Upload: focas-initiative

Post on 13-Aug-2015

118 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The Liquid Computing Paradigm

The Liquid Computing Paradigm

Thomas Gabor and Matthias Holzl

Lehr- und Forschungseinheit Programmierung & SoftwaretechnikLudwig-Maximilians-Universitat Munchen

Steering Complex Adaptive Systems & Fundamentals ofCollective Adaptive Systems

20th July 2015, European Conference on Artificial Life 2015,University of York

Page 2: The Liquid Computing Paradigm

WarningThis is a talk about emerging trends in software engineering!

Page 3: The Liquid Computing Paradigm

Traditional Software Engineering

time

requirements:

deployment

development runtime

Page 4: The Liquid Computing Paradigm

Traditional Software Engineering (in the field)

time

deployment

requirements:

development runtime

Page 5: The Liquid Computing Paradigm

Challenges

Software everywhere!

I complex software projects “absorb” real-life problems

I software developers face increasingly more complex problems

I ...but are not getting any smarter!

Thus, software needs to get smarter...

I adapt to ever-changing environment/requirements

I guarantee functionality

I fail gracefully

Page 6: The Liquid Computing Paradigm

Challenges

Software everywhere!

I complex software projects “absorb” real-life problems

I software developers face increasingly more complex problems

I ...but are not getting any smarter!

Thus, software needs to get smarter...

I adapt to ever-changing environment/requirements

I guarantee functionality

I fail gracefully

Page 7: The Liquid Computing Paradigm

Engineering Self-Adaptive Software

time

deployment

offlinedevelopment

onlineadaptation requirements

Page 8: The Liquid Computing Paradigm

Engineering Self-Adaptive Software (in the field)

time

deployment

deployment

offlinedevelopment requirementsonline

adaptation

Page 9: The Liquid Computing Paradigm

Problems

Engineering paradigms are not fit for collective adaptive systems

I De-centralization makes deployment difficult

I Self-adaptation makes guarantees difficult

Information loss during the software’s life-cycle

I during deployment, the development history of the software islost

I during development, the online adaptations of the system arelost

Page 10: The Liquid Computing Paradigm

Problems

Engineering paradigms are not fit for collective adaptive systems

I De-centralization makes deployment difficult

I Self-adaptation makes guarantees difficult

Information loss during the software’s life-cycle

I during deployment, the development history of the software islost

I during development, the online adaptations of the system arelost

Page 11: The Liquid Computing Paradigm

Suggestion #1

“Eternal Systems” (Nierstrasz et al., 2008)

I changes in the software are added as new artifacts withcertain semantic relationships to existing ones

I old artifacts are never completely removed but used for testsor fall-back behavior, e.g.

But we need a meaningful way to choose between or combinemultiple conflicting artifacts.

Page 12: The Liquid Computing Paradigm

Suggestion #1

“Eternal Systems” (Nierstrasz et al., 2008)

I changes in the software are added as new artifacts withcertain semantic relationships to existing ones

I old artifacts are never completely removed but used for testsor fall-back behavior, e.g.

But we need a meaningful way to choose between or combinemultiple conflicting artifacts.

Page 13: The Liquid Computing Paradigm

Suggestion #2

“Continuous Collaboration” (Holzl and Gabor, 2015)

I several “teachers” are programmed to propagate certainrespective behavior inside the CAS

I their fight for success gives rise to an implicit evolutionarymechanic

But we need a respective pool of suitable candidate programs forour problem.

Page 14: The Liquid Computing Paradigm

Suggestion #2

“Continuous Collaboration” (Holzl and Gabor, 2015)

I several “teachers” are programmed to propagate certainrespective behavior inside the CAS

I their fight for success gives rise to an implicit evolutionarymechanic

But we need a respective pool of suitable candidate programs forour problem.

Page 15: The Liquid Computing Paradigm

The Liquid Computing Paradigm

timedevelopment+ adaptation

requirements

Page 16: The Liquid Computing Paradigm

The Liquid Computing Paradigm

“We envision the future of software development to be less likearchitecture, but more like gardening.”

I blending between design and run time

I pervasive use of autonomous learning techniques

I “ball of mud” scalability, no central instance of control

I large library of local strategies available among several systems

Page 17: The Liquid Computing Paradigm

Thank You!