SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Alberto Lluch Lafuente,  Roberto Bruni, Andrea Corradini, Fabio Gadducci, Ugo Montanari, GianLuigi Ferrari, Andrea Vandin Leicester, September 21st, 2011 A conceptual framework for behavioural adaptation ,[object Object]
1 A framework for adaptation 2 Reflective rule-based programming 3 Context-oriented programming 0 ASCENS   in a nutshell ° ° ° °
ASCENS   in a nutshell A framework for adaptation Reflective rule-based programming Context-oriented programming 0 1 2 3 ° ° ° ° 0 ASCENS   in a nutshell ° ° ° °
a utonomic s ervice c omponent ens embles ° ° ° ° emergent behaviour, swarms, ... (  =  ) ° what is  ascens  ? European project on  ° ° ° °
ensembles “ ...open-ended, highly parallel, massively  distributed systems ... ...made of self-awaress,  self-adaptive , self-expressive, self-*, autonomic  components .” ,[object Object]
Robot Swarms E-vehicles
goal ,[object Object],[object Object]
ASCENS  in a nutshell A framework for adaptation Reflective Rule-based Programming Context-Oriented Programming 0 1 2 3 ° ° ° °
our sources of inspiration IBM's AC/MAPE-K MAUDE CONTEXT-ORIENTED PROGRAMMING EU Projects (S-CUBE, CASCADAS, ALLOW,...) SCEL (META)KLAIM SELF-ADAPTATION PATTERNS Architecture-Based Approach to Self-Adaptive Software (Medvidovic-Rosenblum)
3 ingredients of AC C Component-based approach S Separation of concerns R Reflective computation
adaptation ,[object Object]
adaptable “ Something whose behaviour ,[object Object]
adaptable  program = control + data CONTROL DATA
adaptable  program = control + data + control data CONTROL DATA CONTROL DATA MANAGER
which “control data”? rules? contexts? interactions? policies? etc. CONTROL CONTROL DATA
smells like control data... ,[object Object]
Logic Programming, etc. ,[object Object],[object Object]
effects, contexts, etc. ,[object Object]
desiderata 1: compositional ... C 0 CD 0 C 1 CD 1
internal feedback loops CONTROL CONTROL DATA INTERNAL MANAGER
external feedback loops CONTROL CD EXTERNAL CONTROLLER CD
(un)desiderata? reciprocal management? self management? (no separation of concerns) C CD C CD C CD
desiderata 2: MAPE-K compliance Knowledge Analyze Plan AUTONOMIC MANAGER MANAGED ELEMENT Control Data Control Data Control Monitor Execute
MAPE-K towers K A P MANAGED ELEMENT CD K A P CD K A P CD CD M E M E M E
ASCENS  in a nutshell A framework for adaptation Reflective rule-based programming Context-Oriented Programming 0 1 2 3 ° ° ° °
reflection tower
reflection tower
reflection tower
reflection tower
adaptation tower
adaptation tower
adaptation tower
the tower in the framework ...
http://www.springerlink.com/content/3lcycpvew20fcl9q/
mobility CONTROL DATA CONTROL DATA MANAGER
adaptation CONTROL DATA CONTROL DATA MANAGER
ASCENS  in a nutshell A framework for adaptation Reflective rule-based programming Context-oriented programming 0 1 2 3 ° ° ° °
http://arxiv.org/abs/1105.0069v1
context-oriented programming A A' A''
context-oriented languages ,[object Object]
Context Py(thon)
Context R(uby)
Context S(malltalk)
Context Scheme
Context J(ava)
Context Erlang
...
contextJ class bot { private void go(void);  void go(void){ set_speed(normal); } layer surface{ void go(void){ all_wheel_drive(); set_speed(fast); }} layer darkness{ void go(void){ proceed();  /* propagation */ turn_lights_on(); set_speed(slow); }} }
dynamic dispatching with(surface){ with(darkness){ with(meteor_storm){ go(); } } } Active Variation Stack darkness surface meteor_storm

Weitere ähnliche Inhalte

Ähnlich wie A conceptual framework for behavioural adaptation @ Leicester 2011

A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011Alberto Lluch Lafuente
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...Alberto Lluch Lafuente
 
Iaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd Iaetsd
 
Eventual Consistency - JUG DA
Eventual Consistency - JUG DAEventual Consistency - JUG DA
Eventual Consistency - JUG DASusanne Braun
 
Eventual Consistency – Du musst keine Angst haben
Eventual Consistency – Du musst keine Angst habenEventual Consistency – Du musst keine Angst haben
Eventual Consistency – Du musst keine Angst habenSusanne Braun
 
Validating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration EnvironmentValidating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration Environmentstreamspotter
 
Dissertation_slides
Dissertation_slidesDissertation_slides
Dissertation_slidesZunaid Kazi
 
Hybrid and reactive agent architecures
Hybrid and reactive agent architecuresHybrid and reactive agent architecures
Hybrid and reactive agent architecuresstevekahara
 
Swift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowSwift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowDaniel S. Katz
 
[JIST] Programming language implementations for context-oriented self-adaptiv...
[JIST] Programming language implementations for context-oriented self-adaptiv...[JIST] Programming language implementations for context-oriented self-adaptiv...
[JIST] Programming language implementations for context-oriented self-adaptiv...Universidad de los Andes
 
Large scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using sparkLarge scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using sparkMila, Université de Montréal
 
OOP 2021 - Eventual Consistency - Du musst keine Angst haben
OOP 2021 - Eventual Consistency - Du musst keine Angst habenOOP 2021 - Eventual Consistency - Du musst keine Angst haben
OOP 2021 - Eventual Consistency - Du musst keine Angst habenSusanne Braun
 
Eventual Consistency - Du musst keine Angst haben
Eventual Consistency - Du musst keine Angst habenEventual Consistency - Du musst keine Angst haben
Eventual Consistency - Du musst keine Angst habenSusanne Braun
 
Knowledge Graphs and Milestone
Knowledge Graphs and MilestoneKnowledge Graphs and Milestone
Knowledge Graphs and MilestoneBarry Norton
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentationpbihler
 
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software EngineeringBreaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineeringkim.mens
 
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016DevOpsDays Tel Aviv
 

Ähnlich wie A conceptual framework for behavioural adaptation @ Leicester 2011 (20)

A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
A conceptual framework for behavioural adaptation @ Meeting ASCENS 2011
 
A white-box perspective on self-adaptation and self-awareness
A white-box perspective on self-adaptation and self-awarenessA white-box perspective on self-adaptation and self-awareness
A white-box perspective on self-adaptation and self-awareness
 
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
A White-box Perspective on Self-Adaptation and Self-Awareness (with a focus o...
 
Iaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using arm
 
Eventual Consistency - JUG DA
Eventual Consistency - JUG DAEventual Consistency - JUG DA
Eventual Consistency - JUG DA
 
2017 nov reflow sbtb
2017 nov reflow sbtb2017 nov reflow sbtb
2017 nov reflow sbtb
 
Eventual Consistency – Du musst keine Angst haben
Eventual Consistency – Du musst keine Angst habenEventual Consistency – Du musst keine Angst haben
Eventual Consistency – Du musst keine Angst haben
 
Validating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration EnvironmentValidating Procedural Knowledge in the Open Virtual Collaboration Environment
Validating Procedural Knowledge in the Open Virtual Collaboration Environment
 
Dissertation_slides
Dissertation_slidesDissertation_slides
Dissertation_slides
 
Hybrid and reactive agent architecures
Hybrid and reactive agent architecuresHybrid and reactive agent architecures
Hybrid and reactive agent architecures
 
Swift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance WorkflowSwift Parallel Scripting for High-Performance Workflow
Swift Parallel Scripting for High-Performance Workflow
 
[JIST] Programming language implementations for context-oriented self-adaptiv...
[JIST] Programming language implementations for context-oriented self-adaptiv...[JIST] Programming language implementations for context-oriented self-adaptiv...
[JIST] Programming language implementations for context-oriented self-adaptiv...
 
Large scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using sparkLarge scale logistic regression and linear support vector machines using spark
Large scale logistic regression and linear support vector machines using spark
 
OOP 2021 - Eventual Consistency - Du musst keine Angst haben
OOP 2021 - Eventual Consistency - Du musst keine Angst habenOOP 2021 - Eventual Consistency - Du musst keine Angst haben
OOP 2021 - Eventual Consistency - Du musst keine Angst haben
 
Role of locking- cds
Role of locking- cdsRole of locking- cds
Role of locking- cds
 
Eventual Consistency - Du musst keine Angst haben
Eventual Consistency - Du musst keine Angst habenEventual Consistency - Du musst keine Angst haben
Eventual Consistency - Du musst keine Angst haben
 
Knowledge Graphs and Milestone
Knowledge Graphs and MilestoneKnowledge Graphs and Milestone
Knowledge Graphs and Milestone
 
90seconds Presentation
90seconds Presentation90seconds Presentation
90seconds Presentation
 
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software EngineeringBreaking the Walls: A Unified Vision on Context-Oriented Software Engineering
Breaking the Walls: A Unified Vision on Context-Oriented Software Engineering
 
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
Event-driven Infrastructure - Mike Place, SaltStack - DevOpsDays Tel Aviv 2016
 

Mehr von Alberto Lluch Lafuente

Many-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesMany-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesAlberto Lluch Lafuente
 
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAlberto Lluch Lafuente
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Alberto Lluch Lafuente
 
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Alberto Lluch Lafuente
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013Alberto Lluch Lafuente
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Alberto Lluch Lafuente
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013Alberto Lluch Lafuente
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...Alberto Lluch Lafuente
 
Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Alberto Lluch Lafuente
 
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009Alberto Lluch Lafuente
 

Mehr von Alberto Lluch Lafuente (14)

Many-to-Many Information Flow Policies
Many-to-Many Information Flow PoliciesMany-to-Many Information Flow Policies
Many-to-Many Information Flow Policies
 
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal LogicAggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal Logic
 
A Semiring-valued Temporal Logic
A Semiring-valued Temporal LogicA Semiring-valued Temporal Logic
A Semiring-valued Temporal Logic
 
Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...Can we efficiently verify concurrent programs under relaxed memory models in ...
Can we efficiently verify concurrent programs under relaxed memory models in ...
 
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
Collaborative Task Execution In Volunteer Clouds (or how to choose a sub-revi...
 
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
State Space C-Reductions @ ETAPS Workshop GRAPHITE 2013
 
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013Adaptable Transition Systems @ ASCENS Meeting Prague 2013
Adaptable Transition Systems @ ASCENS Meeting Prague 2013
 
White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013White Box Adaptation @ CINA Meeting 2013
White Box Adaptation @ CINA Meeting 2013
 
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
State Space c-Reductions of Concurrent Systems in Rewriting Logic @ ETAPS Wor...
 
Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...Evaluating the performance of model transformation styles with Maude @ Sympos...
Evaluating the performance of model transformation styles with Maude @ Sympos...
 
Maude .:° ASCENS 2011
Maude .:° ASCENS 2011Maude .:° ASCENS 2011
Maude .:° ASCENS 2011
 
IMT Welcome Day 2011
IMT Welcome Day 2011IMT Welcome Day 2011
IMT Welcome Day 2011
 
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
A Graph Syntax for Processes and Services @ Workshop WS-FM 2009
 
An Algebra of Hierarchical Graphs
An Algebra of Hierarchical GraphsAn Algebra of Hierarchical Graphs
An Algebra of Hierarchical Graphs
 

Kürzlich hochgeladen

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Kürzlich hochgeladen (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

A conceptual framework for behavioural adaptation @ Leicester 2011

Hinweis der Redaktion

  1. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  2. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  3. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  4. Our “framework” is the result of discussions, brainstorms, past ASCENS meetings, readings and all that (within WP2). Among the sources of inspiration we mention: IBM's AC/MAPE-K, Projects around “adaptation” (like S-CUBE, CASCADAS, ALLOW), programming paradigms (like context-oriented), foundational models (like rewriting logic), etc. And of course ASCENS stuff like SCEL (and its predecessors KLAIM, META-KLAIM), WP4 framework for adaptation patterns, Matthias thoughts on adaptation, etc.
  5. Our “framework” is the result of discussions, brainstorms, past ASCENS meetings, readings and all that (within WP2). Among the sources of inspiration we mention: IBM's AC/MAPE-K, Projects around “adaptation” (like S-CUBE, CASCADAS, ALLOW), programming paradigms (like context-oriented), foundational models (like rewriting logic), etc. And of course ASCENS stuff like SCEL (and its predecessors KLAIM, META-KLAIM), WP4 framework for adaptation patterns, Matthias thoughts on adaptation, etc.
  6. One of our starting points was W4's definition of (behavioural) adaptation.
  7. From the definition of adaption we derive the definition of “adaptability” (the ability of being adaptable).
  8. Into a “Adaptable Program = Control + Control Data + Data” paradigm, where part of the control logic is exhibited as “data” (the “control data”) that can be modified (e.g. by a “manager”). Of course any ordinary computational model or language can be used just by considering that part of the data governs the cotrol (e.g. “flag variables”). However a separation of concerns is fundamental to facilitate e.g. specification, analysis, development, etc. As an analogy think about the difference between OO languages (C++) and programming in OO-style in ordinary languages (e.g. C).
  9. Into a “Adaptable Program = Control + Control Data + Data” paradigm, where part of the control logic is exhibited as “data” (the “control data”) that can be modified (e.g. by a “manager”). Of course any ordinary computational model or language can be used just by considering that part of the data governs the cotrol (e.g. “flag variables”). However a separation of concerns is fundamental to facilitate e.g. specification, analysis, development, etc. As an analogy think about the difference between OO languages (C++) and programming in OO-style in ordinary languages (e.g. C).
  10. What is control data? This depends on the computational model or language. For instance, some natural choices might be “ rules” in rewrite systems “ contexts” in contex-oriented paradigms “ policies” in policy-driven approaches/SCEL? etc.
  11. Many foundational models have variants with meta/higher-order/reflective features where “control data” and “adaptation” are more naturally represented than in the “core” models. We mention some examples (connected to the expertise of WP2).
  12. Now, we have two main desiderata for the adaptation framework. The first one is that it should be “hierarchical” in the sense that “managers” should be adaptable themselves to allow building adaptation towers. Adaptation of the adaptation is what WP4 calls self-expression (if I understood well).
  13. This seems conformant with WP4's control loop patterns like the “external feedback loop” pattern.
  14. ...or the “internal feedback loop” pattern
  15. Now, we have two main desiderata for the adaptation framework. The first one is that it should be “hierarchical” in the sense that “managers” should be adaptable themselves to allow building adaptation towers. Adaptation of the adaptation is what WP4 calls self-expression (if I understood well).
  16. The second desiderata is that the framework should be flexible enough to capture/follow the MAPE-K scheme. Why? Since it is widely accepted as a scheme for autonomic computing and we have at the moment no argument against it.
  17. The second desiderata is that the framework should be flexible enough to capture/follow the MAPE-K scheme. Why? Since it is widely accepted as a scheme for autonomic computing and we have at the moment no argument against it.
  18. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  19. A rewriting framework like “rewriting logic” enjoys what is called “reflection tower”. At the ground level, a rewrite theory (e.g. software module) let us infer a computation step from a term (e.g. program state) t into t'. A universal theory U let us infer the computation at the “meta-level”, where theories and terms are meta-represented as terms. The process can be repeated again and again as U itself is a rewrite theory.
  20. A rewriting framework like “rewriting logic” enjoys what is called “reflection tower”. At the ground level, a rewrite theory (e.g. software module) let us infer a computation step from a term (e.g. program state) t into t'. A universal theory U let us infer the computation at the “meta-level”, where theories and terms are meta-represented as terms. The process can be repeated again and again as U itself is a rewrite theory.
  21. A rewriting framework like “rewriting logic” enjoys what is called “reflection tower”. At the ground level, a rewrite theory (e.g. software module) let us infer a computation step from a term (e.g. program state) t into t'. A universal theory U let us infer the computation at the “meta-level”, where theories and terms are meta-represented as terms. The process can be repeated again and again as U itself is a rewrite theory.
  22. A rewriting framework like “rewriting logic” enjoys what is called “reflection tower”. At the ground level, a rewrite theory (e.g. software module) let us infer a computation step from a term (e.g. program state) t into t'. A universal theory U let us infer the computation at the “meta-level”, where theories and terms are meta-represented as terms. The process can be repeated again and again as U itself is a rewrite theory.
  23. This suggests the following “adaptation tower”. At each level, theories are composed by some immutable part and some part subject to modification, i.e. the “control data”. A natural choice for control data are subsets of rules. At the level 1, computations steps can modify both the term t and the control data of level 0. Idem for higher levels.
  24. This suggests the following “adaptation tower”. At each level, theories are composed by some immutable part and some part subject to modification, i.e. the “control data”. A natural choice for control data are subsets of rules. At the level 1, computations steps can modify both the term t and the control data of level 0. Idem for higher levels.
  25. This suggests the following “adaptation tower”. At each level, theories are composed by some immutable part and some part subject to modification, i.e. the “control data”. A natural choice for control data are subsets of rules. At the level 1, computations steps can modify both the term t and the control data of level 0. Idem for higher levels.
  26. Such tower naturally fits in the hierarchical structure of the framework.
  27. We have applied the general schema to some toy examples, modelling them in Maude with some concrete syntax (object oriented/actor model). In the meantime we have discovered that there is a paper by José Meseguer and Carolyn Talcott which essentially coincides in main idea of using reflection to program adaptive systems. The coincidence suggests that this is indeed the natural way to program adaptive systems in Maude.
  28. The main ideas of Meseguer&Talcot approach is to follow a russian dolls approach (nested components) with logical reflection. This enables (in adition to adaptivity) the ability of modelling mobility, e.g. by sending meta-representation of objects around. The approach focuses on actor models which are not very dissimilar from the SCEL/KLAIM paradigms.
  29. Adaptation is achieved by rules like this, which is essentially a specialisation of the abstract presentation of the “adaptation tower”.
  30. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  31. GianLugi Ferrari (WP2 member) and his collaborators within WP1 have made some efforts to survey the paradigm with the purposes of 1) evaluate the key aspects to be integrated into SCEL, 2) asses the conceptual framework. The most insightful reading was Ghezzi's et al. paper “Context-Oriented Programming: A paradigm for Autonomic Computing”, where several approache/languagess to COP are discussed and compared to “aspect oriented” languages (another paradigm promoted as suitable for autonomic computing”).
  32. The main idea of COP is that computation depends on the context of execution, where “context” means any computationally accessible information (e.g. “enviromental data drawn from sensors”). In the figure we see that the computational entity A evolves into A' if under the blue context, while it would evolve into A'' if under the green context. The chunks of behaviours associated to contexts are called “variations”. Adaptation is achieved by activating or disactivating variations (e.g. in reaction to events).
  33. Many languages have been extended to adopt the context oriented paradigm.
  34. In ContextJ, variations are specified with so-called “layers”. Essentially, they are specialized method implementations: one for each known layer.
  35. Context-dependent computation is achieved with a sort of dynamic dispatching mechanism.
  36. Context-dependent computation is achieved with a sort of dynamic dispatching mechanism.
  37. The COP variant of ContextJ does also fit in the MAPE-K framework as explained by Ghezi et al., essentially thanks to a reflective API that allows to access the active variations.
  38. In this talk we present the framework and two paradigms for modelling and programming adaptive systems, discussing how they fit into the framework: 1) Rewriting systems with meta-programming facilities (reflection in this case). 2) Context-Oriented Programming.
  39. The second desiderata is that the framework should be flexible enough to capture/follow the MAPE-K scheme. Why? Since it is widely accepted as a scheme for autonomic computing and we have at the moment no argument against it.