The document discusses context-oriented programming (COP) and an approach called Auto-COP to generate adaptations from system execution using reinforcement learning. COP allows a system's behavior to dynamically change based on its context. Auto-COP monitors a system's execution trace to extract the contexts and related behaviors. It uses reinforcement learning to learn action sequences that optimize a goal for different system states, with the aim of generating adaptations without needing them to be predefined by developers.
This document discusses semantical cognitive scheduling, which aims to improve process scheduling by considering the current state of the operating system. It proposes assigning a utility value to each process-state pair based on the semantical progress gained from running that process in that state. This allows the scheduler to maximize total utility by considering the current system state. Obtaining utility values can be done through machine learning, user feedback, or from software vendors. While the general problem of finding the optimal scheduling order is hard, complexity can be reduced by assuming the number of states is bounded. Dynamic programming and greedy approaches are proposed to find high-utility schedules in polynomial time by exploiting this bounded state space assumption.
This document proposes ANGEL, an agent-based scheduling algorithm for real-time tasks in virtualized cloud environments. It employs a bidirectional announcement-bidding mechanism between agents to allocate tasks and dynamically provision resources. The mechanism consists of three phases: basic matching, forward announcement-bidding, and backward announcement-bidding. ANGEL also dynamically adds virtual machines to improve schedulability. Extensive experiments show ANGEL efficiently solves real-time task scheduling in clouds.
International Journal of Computational Engineering Research(IJCER) ijceronline
nternational Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
The document discusses a proposed reusability framework for cloud computing. The framework, called the Cloud Computing Reusability Model (CCR), aims to enable reusability in cloud computing through component-based development. The CCR model is validated using CloudSim, and experimental results show that the reusability-based approach can minimize costs and reduce time to market. The document also reviews related work on reusability and cloud computing, and analyzes challenges of the cloud computing platform for software development.
A Cost Estimation Model For Reuse Based Software ProgramIOSR Journals
This document presents a cost estimation model for a software reuse program. It proposes estimating costs at multiple levels - component, domain, application, and corporate. Costs include development, overhead, integration, and maintenance. The model is demonstrated using a hypothetical software company that develops reusable components from 2007-2010. Component size, availability, strategies, scale, standardization, and complexity are identified as factors that affect costs. Equations are provided to estimate costs at each level based on variables like component size, salary, reuse metrics, and probability of component availability. Graphs show relationships between various cost-affecting factors and total application costs.
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
The opportunities and challenges of recent and
forthcoming distributed computing scenarios have been promot-
ing research on languages and paradigms aimed at modelling the
macro/collective behaviour of systems as well as mechanisms to
endow them with self-* capabilities. One example is the aggregate
computing paradigm, which supports the development of self-
organising systems (e.g., robot swarms, computational ecosys-
tems, and crowd-based services) through various formalisms and
tools developed over a decade. However, very limited work has
been done by a methodological and automation perspective. In
this paper, we explore the issue of organising the development
process of aggregate computing systems. Accordingly, we outline
novel research directions that arise from careful analysis of
the peculiar issues in collective and self-organising systems, the
cornerstones of effective software engineering practices, and
recent scientific trends and insights.
Qo s aware scientific application scheduling algorithm in cloud environmentAlexander Decker
This document summarizes a research paper that proposes a scheduling algorithm for scientific applications in cloud environments. The algorithm aims to schedule tasks in workflows based on user preferences for quality of service (QoS), like time and cost. It ranks tasks and uses an UPFF function to select resources that meet the user's desired QoS. The algorithm is compared to other similar algorithms through scenarios, and results show it has better efficiency. The full paper provides more details on scientific workflows, cloud computing, related work on workflow scheduling algorithms, and defines the problem of scheduling tasks to resources while considering costs and times.
This document discusses semantical cognitive scheduling, which aims to improve process scheduling by considering the current state of the operating system. It proposes assigning a utility value to each process-state pair based on the semantical progress gained from running that process in that state. This allows the scheduler to maximize total utility by considering the current system state. Obtaining utility values can be done through machine learning, user feedback, or from software vendors. While the general problem of finding the optimal scheduling order is hard, complexity can be reduced by assuming the number of states is bounded. Dynamic programming and greedy approaches are proposed to find high-utility schedules in polynomial time by exploiting this bounded state space assumption.
This document proposes ANGEL, an agent-based scheduling algorithm for real-time tasks in virtualized cloud environments. It employs a bidirectional announcement-bidding mechanism between agents to allocate tasks and dynamically provision resources. The mechanism consists of three phases: basic matching, forward announcement-bidding, and backward announcement-bidding. ANGEL also dynamically adds virtual machines to improve schedulability. Extensive experiments show ANGEL efficiently solves real-time task scheduling in clouds.
International Journal of Computational Engineering Research(IJCER) ijceronline
nternational Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
The document discusses a proposed reusability framework for cloud computing. The framework, called the Cloud Computing Reusability Model (CCR), aims to enable reusability in cloud computing through component-based development. The CCR model is validated using CloudSim, and experimental results show that the reusability-based approach can minimize costs and reduce time to market. The document also reviews related work on reusability and cloud computing, and analyzes challenges of the cloud computing platform for software development.
A Cost Estimation Model For Reuse Based Software ProgramIOSR Journals
This document presents a cost estimation model for a software reuse program. It proposes estimating costs at multiple levels - component, domain, application, and corporate. Costs include development, overhead, integration, and maintenance. The model is demonstrated using a hypothetical software company that develops reusable components from 2007-2010. Component size, availability, strategies, scale, standardization, and complexity are identified as factors that affect costs. Equations are provided to estimate costs at each level based on variables like component size, salary, reuse metrics, and probability of component availability. Graphs show relationships between various cost-affecting factors and total application costs.
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
The opportunities and challenges of recent and
forthcoming distributed computing scenarios have been promot-
ing research on languages and paradigms aimed at modelling the
macro/collective behaviour of systems as well as mechanisms to
endow them with self-* capabilities. One example is the aggregate
computing paradigm, which supports the development of self-
organising systems (e.g., robot swarms, computational ecosys-
tems, and crowd-based services) through various formalisms and
tools developed over a decade. However, very limited work has
been done by a methodological and automation perspective. In
this paper, we explore the issue of organising the development
process of aggregate computing systems. Accordingly, we outline
novel research directions that arise from careful analysis of
the peculiar issues in collective and self-organising systems, the
cornerstones of effective software engineering practices, and
recent scientific trends and insights.
Qo s aware scientific application scheduling algorithm in cloud environmentAlexander Decker
This document summarizes a research paper that proposes a scheduling algorithm for scientific applications in cloud environments. The algorithm aims to schedule tasks in workflows based on user preferences for quality of service (QoS), like time and cost. It ranks tasks and uses an UPFF function to select resources that meet the user's desired QoS. The algorithm is compared to other similar algorithms through scenarios, and results show it has better efficiency. The full paper provides more details on scientific workflows, cloud computing, related work on workflow scheduling algorithms, and defines the problem of scheduling tasks to resources while considering costs and times.
Qo s aware scientific application scheduling algorithm in cloud environmentAlexander Decker
The document describes a QoS-aware scientific application scheduling algorithm for cloud environments. It proposes an algorithm that ranks tasks in a workflow and uses a user preference fitness function to select resources based on the user's desired quality of service, such as time and cost. The algorithm is compared to other similar works through several scenarios, and results show the proposed algorithm has better efficiency. Key aspects considered include task dependencies, data sizes, compute times, data transfer times, workflow makespan, resource costs and attributes.
On Execution Platforms for Large-Scale Aggregate ComputingRoberto Casadei
Aggregate computing is proposed as a computational model and associated toolchain to engineer adaptive large-scale situated systems, including IoT and wearable computing systems. Though originated in the context of WSN-like (peer-to-peer and fully distributed) systems, we argue it is a model that can transparently fit a variety of execution platforms (decentralised, server-mediated, cloud/fog-oriented), due to its ability of declaratively designing systems by global-level abstractions: it opens the possibility of intrinsically supporting forms of load balancing, elasticity and toleration of medium- and long-term changes of computational infrastructures. To ground the discussion, we present ongoing work in the context of scafi, a language and platform support for computational fields based on the Scala programming language and Akka actor framework.
This document proposes a genetic algorithm called Workflow Scheduling for Public Cloud Using Genetic Algorithm (WSGA) to optimize the cost of executing workflows in the public cloud. It discusses how genetic algorithms can be applied to the workflow scheduling problem to generate optimal schedules. The WSGA represents potential scheduling solutions as chromosomes, uses a fitness function to evaluate scheduling costs, and applies genetic operators like selection, crossover and mutation to evolve new schedules over multiple iterations. The goal is to minimize total execution cost while meeting workflow dependencies and deadline constraints. An experimental setup is described and the WSGA approach is claimed to reduce costs more than other heuristic scheduling algorithms for communication-intensive workflows.
Scheduling in Virtual Infrastructure for High-Throughput Computing IJCSEA Journal
This document summarizes a study on improving the efficiency of resource utilization in virtual infrastructure for high-throughput computing. The study proposes a pre-staging model where virtual machine images are pre-loaded on execution nodes and jobs are directly submitted to the virtual machines. Experimental results show that the pre-staging model improves job execution times by 10-15 times compared to using Condor's virtual universe, with greater improvements for non-HPC jobs. The overhead of virtualization also reduces performance gains for HPC jobs like MPI applications.
International Journal of Engineering Research and DevelopmentIJERD Editor
Electrical, Electronics and Computer Engineering,
Information Engineering and Technology,
Mechanical, Industrial and Manufacturing Engineering,
Automation and Mechatronics Engineering,
Material and Chemical Engineering,
Civil and Architecture Engineering,
Biotechnology and Bio Engineering,
Environmental Engineering,
Petroleum and Mining Engineering,
Marine and Agriculture engineering,
Aerospace Engineering.
The document discusses two projects - a weather update app developed in Android using an API from OpenWeatherMap, and a charity website developed in PHP using frameworks like CakePHP and Zend.
The weather app allows users to access current weather data like temperature, humidity, and wind speed for any location by city name. It uses JSON parsing to retrieve data from the OpenWeatherMap API.
The charity website called Kalpvirksha is a platform for NGOs to showcase their work and connect with donors. It was developed using PHP and frameworks like CakePHP, Zend, Joomla and Wordpress to provide features like user accounts and project listings.
Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...Editor IJCATR
This article is intended to use the multi-PSO algorithm for scheduling tasks for cost management in cloud computing. This means that
any migration costs due to supply failure consider as a one objective and each task is a little particle and recognize by use of the
appropriate fitness schedule function (how the particles arrangement) that cost at least amount of total expense. In addition to, the weight
is granted to the each expenditure that reflects the importance of cost. The data which is used to simulate proposed method are series of
academic and research data that are prepared from the Internet and MATLAB software is used for simulation. We simulate two issues,
in the first issue, consider four task by four vehicles and divide tasks. In the second issue, make the issue more complicated and consider
six tasks by four vehicles. We write PSO's output for each two issues of various iterations. Finally, the particles dispersion and as well
as the output of the cost function were computed for each pa
A STUDY ON JOB SCHEDULING IN CLOUD ENVIRONMENTpharmaindexing
This document discusses job scheduling algorithms in cloud computing environments. It begins with an introduction to cloud computing and job scheduling challenges. It then reviews several existing job scheduling algorithms that aim to minimize completion time and costs while improving performance and quality of service. These algorithms use approaches like genetic algorithms, priority queues, and workload prediction. The document also discusses issues like priority-based scheduling and balancing mixed workloads. Overall, the document analyzes the problem of job scheduling in clouds and surveys different proposed scheduling algorithms and their objectives.
CS266 Software Reverse Engineering (SRE)
Reengineering and Reuse of Legacy Software
Teodoro (Ted) Cipresso, teodoro.cipresso@sjsu.edu
Department of Computer Science
San José State University
Spring 2015
[JIST] Programming language implementations for context-oriented self-adaptiv...Universidad de los Andes
Context
The context-oriented programming paradigm is designed to enable self-adaptation, or dynamic behavior modification of software systems, in response to changes in their surrounding environment. Contextoriented programming offers an adaptation model, from a programming language perspective, that maintains a clean modularisation between the application and adaptation logic, as well as between the components providing adaptations.
Objective
We use three implementation techniques for context-oriented programming languages to assess their appropriateness to foster self-adaptive systems. These approaches take advantage of the capabilities offered by the host programming language to realize self-adaptation as proposed by context-oriented languages.
Method
We evaluate each of these approaches by assessing their modularity and complexity when defining adaptations, and by comparing their run-time performance on a simple benchmark.
Results
Our results show a higher modularity than that for common architecture based self-adaptive systems, while maintaining comparable performance.
Conclusion
We conclude that context-oriented programming is an appropriate paradigm to realize self-adaptation.
Link to the paper: https://doi.org/10.1016/j.infsof.2021.106789
An introductory lecture on Context-Oriented Programming, part of the course LINGI2252 “Software Maintenance and Evolution”, given by Prof. Kim Mens at UCL, Belgium. This particular lecture was made by Dr. Sebastian Gonzalez in close collaboration with Prof. Kim Mens.
This document discusses the design and implementation chapter of a lecture. It covers topics like using UML for object-oriented design, design patterns, and implementation issues. It then discusses the weather station case study used to illustrate the design process, including defining system context, use cases, architectural design, identifying object classes, design models, and interface specification.
This document discusses design and implementation topics covered in Chapter 7, including object-oriented design using UML, design patterns, implementation issues, and open source development. It provides an example of designing a weather station system using various UML diagrams to illustrate the object-oriented design process. Key activities covered are identifying objects, developing design models, and specifying object interfaces. Implementation issues discussed include reuse, configuration management, and host-target development.
The document presents a technique for automatically restructuring functions with low cohesion into functions with higher cohesion. It does this by partitioning the output variables of a function based on their pairwise cohesion, as measured by rules that encode principles of cohesion discovered by previous research. Program slicing is then used to identify statements computing each variable group, and new functions are created from these slices to replace the original function. The technique aims to decompose functions into natural units of activity, as a human programmer would, in order to improve understandability and maintainability.
Transfer Learning for Performance Analysis of Highly-Configurable SoftwarePooyan Jamshidi
This document discusses using transfer learning to analyze the performance of configurable software systems. It begins by noting that today's most popular software systems are highly configurable and that their increasing configurability makes understanding performance behavior difficult. The author then describes using transfer learning to enable learning performance models more efficiently by reusing data from related source domains. This allows developers and users to better understand performance tradeoffs and find optimal configurations.
A hybrid approach for scheduling applications in cloud computing environment IJECEIAES
Cloud computing plays an important role in our daily life. It has direct and positive impact on share and update data, knowledge, storage and scientific resources between various regions. Cloud computing performance heavily based on job scheduling algorithms that are utilized for queue waiting in modern scientific applications. The researchers are considered cloud computing a popular platform for new enforcements. These scheduling algorithms help in design efficient queue lists in cloud as well as they play vital role in reducing waiting for processing time in cloud computing. A novel job scheduling is proposed in this paper to enhance performance of cloud computing and reduce delay time in queue waiting for jobs. The proposed algorithm tries to avoid some significant challenges that throttle from developing applications of cloud computing. However, a smart scheduling technique is proposed in our paper to improve performance processing in cloud applications. Our experimental result of the proposed job scheduling algorithm shows that the proposed schemes possess outstanding enhancing rates with a reduction in waiting time for jobs in queue list.
RESEARCH ON DISTRIBUTED SOFTWARE TESTING PLATFORM BASED ON CLOUD RESOURCEijcses
In order to solve the low efficiency problem of large-scale distributed software testing , CBDSTP(
Cloud-Based Distributed Software Testing Platform) is put forward.This platform can provide continous
integration and automation of testing for large software systems, which can make full use of resources on
the cloud clients, achieving testing result s in the real environment and reasonable allocating testing jobs,
to resolve the Web application software configuration test, compatibility test and distributed test problems,
to reduce costs, improve efficiency. Through making MySQL testing on this prototype system, the
verification is made for platform architecture and job allocation effectiveness.
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...Yahoo Developer Network
This document discusses programming abstractions for smart applications on clouds. It proposes a new programming model called Deformable Mesh Abstraction (DMA) that addresses limitations in existing models like MapReduce. DMA allows tasks to recursively spawn new tasks at runtime, supports efficient communication through a shared structure, and can operate on changing datasets. The document describes how DMA can model heuristic problem solving and presents case studies applying DMA to AI planners. It also discusses how DMA could be extended to support file systems and integrated with Hadoop.
An expressive and modular layer activation mechanism for Context-Oriented Pro...Universidad de los Andes
Abstract: Context. There is a trend in the software industry towards building systems that dynamically adapt their behavior in response to their surrounding environment, given the proliferation of various technological devices, such as notebooks, smartphones, and wearables, capable of capturing their execution context. Context-oriented Programming (COP) allows developers to use layer abstractions to adapt software behavior to the context. A layer is associated with a context and can be dynamically activated in direct response to gathered information from its surrounding execution environment. However, most existing layer activation mechanisms have been tailored specifically to address a particular concern; implying that developers need to tweak layer definitions in contortive ways or create new specialized activation mechanisms altogether if their specific needs are not supported. Objective. Complementing ideas to expressively declare activation mechanism models with interfaces that define conditionals of activation mechanisms modularly, this paper proposes an Expressive and Modular Activation mechanism, named EMA. Method. To propose EMA, we analyze existing activation mechanisms in COP regarding activation features and scope strategies. After, we propose the design of EMA and validate it with a case study discussion. Results. Using a concrete JavaScript implementation of EMA, named EMAjs, we can implement two Web applications: a smartphone application as an example to illustrate EMAjs in action, and an application of home automation to discuss and compare our proposal. Conclusion. Our proposed mechanism allows developers to instantiate different activation scope strategies and interfaces to decouple the declaration of activation mechanism conditionals from the base code.
Paper presentation: https://youtu.be/76RgVB6JihQ?si=-uylVc4Xnqnh4zbl
Paper presented at the 2023 Formal Techniques for Java-like Programs.
Abstract: Static analyses, as points-to analysis, are useful to determine and assure different properties about a program, such as security or type safety. While existing analyses are effective in programs restricted to static features, precision declines in the presence of dynamic language features, and even further when the system behavior changes dynamically. As a consequence, improved points-to sets algorithms taking into account such language features and uses are required. In this paper, we present and extension of the point-to sets analysis to incorporate the language abstractions introduced by context-oriented programming adding the capability for programs to adapt their behavior dynamically to the system’s execution context. To do this, we extend WALA to detect the context-oriented language abstractions, and their representation within the system, to capture the dynamic behavior, in the particular case of the Context Traits JavaScript language extension. To prove the effectiveness of our extension, we evaluate the precision of the points-to set analysis with respect to the state of the art, over four context-oriented programs taken from the literature.
Más contenido relacionado
Similar a Generating Adaptations from the System Execution using Reinforcement Learning Options
Qo s aware scientific application scheduling algorithm in cloud environmentAlexander Decker
The document describes a QoS-aware scientific application scheduling algorithm for cloud environments. It proposes an algorithm that ranks tasks in a workflow and uses a user preference fitness function to select resources based on the user's desired quality of service, such as time and cost. The algorithm is compared to other similar works through several scenarios, and results show the proposed algorithm has better efficiency. Key aspects considered include task dependencies, data sizes, compute times, data transfer times, workflow makespan, resource costs and attributes.
On Execution Platforms for Large-Scale Aggregate ComputingRoberto Casadei
Aggregate computing is proposed as a computational model and associated toolchain to engineer adaptive large-scale situated systems, including IoT and wearable computing systems. Though originated in the context of WSN-like (peer-to-peer and fully distributed) systems, we argue it is a model that can transparently fit a variety of execution platforms (decentralised, server-mediated, cloud/fog-oriented), due to its ability of declaratively designing systems by global-level abstractions: it opens the possibility of intrinsically supporting forms of load balancing, elasticity and toleration of medium- and long-term changes of computational infrastructures. To ground the discussion, we present ongoing work in the context of scafi, a language and platform support for computational fields based on the Scala programming language and Akka actor framework.
This document proposes a genetic algorithm called Workflow Scheduling for Public Cloud Using Genetic Algorithm (WSGA) to optimize the cost of executing workflows in the public cloud. It discusses how genetic algorithms can be applied to the workflow scheduling problem to generate optimal schedules. The WSGA represents potential scheduling solutions as chromosomes, uses a fitness function to evaluate scheduling costs, and applies genetic operators like selection, crossover and mutation to evolve new schedules over multiple iterations. The goal is to minimize total execution cost while meeting workflow dependencies and deadline constraints. An experimental setup is described and the WSGA approach is claimed to reduce costs more than other heuristic scheduling algorithms for communication-intensive workflows.
Scheduling in Virtual Infrastructure for High-Throughput Computing IJCSEA Journal
This document summarizes a study on improving the efficiency of resource utilization in virtual infrastructure for high-throughput computing. The study proposes a pre-staging model where virtual machine images are pre-loaded on execution nodes and jobs are directly submitted to the virtual machines. Experimental results show that the pre-staging model improves job execution times by 10-15 times compared to using Condor's virtual universe, with greater improvements for non-HPC jobs. The overhead of virtualization also reduces performance gains for HPC jobs like MPI applications.
International Journal of Engineering Research and DevelopmentIJERD Editor
Electrical, Electronics and Computer Engineering,
Information Engineering and Technology,
Mechanical, Industrial and Manufacturing Engineering,
Automation and Mechatronics Engineering,
Material and Chemical Engineering,
Civil and Architecture Engineering,
Biotechnology and Bio Engineering,
Environmental Engineering,
Petroleum and Mining Engineering,
Marine and Agriculture engineering,
Aerospace Engineering.
The document discusses two projects - a weather update app developed in Android using an API from OpenWeatherMap, and a charity website developed in PHP using frameworks like CakePHP and Zend.
The weather app allows users to access current weather data like temperature, humidity, and wind speed for any location by city name. It uses JSON parsing to retrieve data from the OpenWeatherMap API.
The charity website called Kalpvirksha is a platform for NGOs to showcase their work and connect with donors. It was developed using PHP and frameworks like CakePHP, Zend, Joomla and Wordpress to provide features like user accounts and project listings.
Providing a multi-objective scheduling tasks by Using PSO algorithm for cost ...Editor IJCATR
This article is intended to use the multi-PSO algorithm for scheduling tasks for cost management in cloud computing. This means that
any migration costs due to supply failure consider as a one objective and each task is a little particle and recognize by use of the
appropriate fitness schedule function (how the particles arrangement) that cost at least amount of total expense. In addition to, the weight
is granted to the each expenditure that reflects the importance of cost. The data which is used to simulate proposed method are series of
academic and research data that are prepared from the Internet and MATLAB software is used for simulation. We simulate two issues,
in the first issue, consider four task by four vehicles and divide tasks. In the second issue, make the issue more complicated and consider
six tasks by four vehicles. We write PSO's output for each two issues of various iterations. Finally, the particles dispersion and as well
as the output of the cost function were computed for each pa
A STUDY ON JOB SCHEDULING IN CLOUD ENVIRONMENTpharmaindexing
This document discusses job scheduling algorithms in cloud computing environments. It begins with an introduction to cloud computing and job scheduling challenges. It then reviews several existing job scheduling algorithms that aim to minimize completion time and costs while improving performance and quality of service. These algorithms use approaches like genetic algorithms, priority queues, and workload prediction. The document also discusses issues like priority-based scheduling and balancing mixed workloads. Overall, the document analyzes the problem of job scheduling in clouds and surveys different proposed scheduling algorithms and their objectives.
CS266 Software Reverse Engineering (SRE)
Reengineering and Reuse of Legacy Software
Teodoro (Ted) Cipresso, teodoro.cipresso@sjsu.edu
Department of Computer Science
San José State University
Spring 2015
[JIST] Programming language implementations for context-oriented self-adaptiv...Universidad de los Andes
Context
The context-oriented programming paradigm is designed to enable self-adaptation, or dynamic behavior modification of software systems, in response to changes in their surrounding environment. Contextoriented programming offers an adaptation model, from a programming language perspective, that maintains a clean modularisation between the application and adaptation logic, as well as between the components providing adaptations.
Objective
We use three implementation techniques for context-oriented programming languages to assess their appropriateness to foster self-adaptive systems. These approaches take advantage of the capabilities offered by the host programming language to realize self-adaptation as proposed by context-oriented languages.
Method
We evaluate each of these approaches by assessing their modularity and complexity when defining adaptations, and by comparing their run-time performance on a simple benchmark.
Results
Our results show a higher modularity than that for common architecture based self-adaptive systems, while maintaining comparable performance.
Conclusion
We conclude that context-oriented programming is an appropriate paradigm to realize self-adaptation.
Link to the paper: https://doi.org/10.1016/j.infsof.2021.106789
An introductory lecture on Context-Oriented Programming, part of the course LINGI2252 “Software Maintenance and Evolution”, given by Prof. Kim Mens at UCL, Belgium. This particular lecture was made by Dr. Sebastian Gonzalez in close collaboration with Prof. Kim Mens.
This document discusses the design and implementation chapter of a lecture. It covers topics like using UML for object-oriented design, design patterns, and implementation issues. It then discusses the weather station case study used to illustrate the design process, including defining system context, use cases, architectural design, identifying object classes, design models, and interface specification.
This document discusses design and implementation topics covered in Chapter 7, including object-oriented design using UML, design patterns, implementation issues, and open source development. It provides an example of designing a weather station system using various UML diagrams to illustrate the object-oriented design process. Key activities covered are identifying objects, developing design models, and specifying object interfaces. Implementation issues discussed include reuse, configuration management, and host-target development.
The document presents a technique for automatically restructuring functions with low cohesion into functions with higher cohesion. It does this by partitioning the output variables of a function based on their pairwise cohesion, as measured by rules that encode principles of cohesion discovered by previous research. Program slicing is then used to identify statements computing each variable group, and new functions are created from these slices to replace the original function. The technique aims to decompose functions into natural units of activity, as a human programmer would, in order to improve understandability and maintainability.
Transfer Learning for Performance Analysis of Highly-Configurable SoftwarePooyan Jamshidi
This document discusses using transfer learning to analyze the performance of configurable software systems. It begins by noting that today's most popular software systems are highly configurable and that their increasing configurability makes understanding performance behavior difficult. The author then describes using transfer learning to enable learning performance models more efficiently by reusing data from related source domains. This allows developers and users to better understand performance tradeoffs and find optimal configurations.
A hybrid approach for scheduling applications in cloud computing environment IJECEIAES
Cloud computing plays an important role in our daily life. It has direct and positive impact on share and update data, knowledge, storage and scientific resources between various regions. Cloud computing performance heavily based on job scheduling algorithms that are utilized for queue waiting in modern scientific applications. The researchers are considered cloud computing a popular platform for new enforcements. These scheduling algorithms help in design efficient queue lists in cloud as well as they play vital role in reducing waiting for processing time in cloud computing. A novel job scheduling is proposed in this paper to enhance performance of cloud computing and reduce delay time in queue waiting for jobs. The proposed algorithm tries to avoid some significant challenges that throttle from developing applications of cloud computing. However, a smart scheduling technique is proposed in our paper to improve performance processing in cloud applications. Our experimental result of the proposed job scheduling algorithm shows that the proposed schemes possess outstanding enhancing rates with a reduction in waiting time for jobs in queue list.
RESEARCH ON DISTRIBUTED SOFTWARE TESTING PLATFORM BASED ON CLOUD RESOURCEijcses
In order to solve the low efficiency problem of large-scale distributed software testing , CBDSTP(
Cloud-Based Distributed Software Testing Platform) is put forward.This platform can provide continous
integration and automation of testing for large software systems, which can make full use of resources on
the cloud clients, achieving testing result s in the real environment and reasonable allocating testing jobs,
to resolve the Web application software configuration test, compatibility test and distributed test problems,
to reduce costs, improve efficiency. Through making MySQL testing on this prototype system, the
verification is made for platform architecture and job allocation effectiveness.
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...Yahoo Developer Network
This document discusses programming abstractions for smart applications on clouds. It proposes a new programming model called Deformable Mesh Abstraction (DMA) that addresses limitations in existing models like MapReduce. DMA allows tasks to recursively spawn new tasks at runtime, supports efficient communication through a shared structure, and can operate on changing datasets. The document describes how DMA can model heuristic problem solving and presents case studies applying DMA to AI planners. It also discusses how DMA could be extended to support file systems and integrated with Hadoop.
Similar a Generating Adaptations from the System Execution using Reinforcement Learning Options (20)
An expressive and modular layer activation mechanism for Context-Oriented Pro...Universidad de los Andes
Abstract: Context. There is a trend in the software industry towards building systems that dynamically adapt their behavior in response to their surrounding environment, given the proliferation of various technological devices, such as notebooks, smartphones, and wearables, capable of capturing their execution context. Context-oriented Programming (COP) allows developers to use layer abstractions to adapt software behavior to the context. A layer is associated with a context and can be dynamically activated in direct response to gathered information from its surrounding execution environment. However, most existing layer activation mechanisms have been tailored specifically to address a particular concern; implying that developers need to tweak layer definitions in contortive ways or create new specialized activation mechanisms altogether if their specific needs are not supported. Objective. Complementing ideas to expressively declare activation mechanism models with interfaces that define conditionals of activation mechanisms modularly, this paper proposes an Expressive and Modular Activation mechanism, named EMA. Method. To propose EMA, we analyze existing activation mechanisms in COP regarding activation features and scope strategies. After, we propose the design of EMA and validate it with a case study discussion. Results. Using a concrete JavaScript implementation of EMA, named EMAjs, we can implement two Web applications: a smartphone application as an example to illustrate EMAjs in action, and an application of home automation to discuss and compare our proposal. Conclusion. Our proposed mechanism allows developers to instantiate different activation scope strategies and interfaces to decouple the declaration of activation mechanism conditionals from the base code.
Paper presentation: https://youtu.be/76RgVB6JihQ?si=-uylVc4Xnqnh4zbl
Paper presented at the 2023 Formal Techniques for Java-like Programs.
Abstract: Static analyses, as points-to analysis, are useful to determine and assure different properties about a program, such as security or type safety. While existing analyses are effective in programs restricted to static features, precision declines in the presence of dynamic language features, and even further when the system behavior changes dynamically. As a consequence, improved points-to sets algorithms taking into account such language features and uses are required. In this paper, we present and extension of the point-to sets analysis to incorporate the language abstractions introduced by context-oriented programming adding the capability for programs to adapt their behavior dynamically to the system’s execution context. To do this, we extend WALA to detect the context-oriented language abstractions, and their representation within the system, to capture the dynamic behavior, in the particular case of the Context Traits JavaScript language extension. To prove the effectiveness of our extension, we evaluate the precision of the points-to set analysis with respect to the state of the art, over four context-oriented programs taken from the literature.
The document describes a study that analyzed code smells in popular Python projects for reinforcement learning. The study involved:
1) Filtering the 20 most popular RL repositories on GitHub that use Python.
2) Performing static analysis on the code to detect 8 different code smells based on predefined metrics and thresholds.
3) Finding that certain code smells like long methods and long classes were highly prevalent in the analyzed projects.
1. The document describes a hybrid approach called OUT OF STEP for detecting clones across programming languages for mobile app development.
2. It discusses the need to abstract syntax trees to compare code snippets across different languages while retaining language references.
3. The approach uses universal nodes to represent common concepts, enriched syntax trees to provide hierarchy, and stop nodes to fragment trees for comparison across locations.
recorrido sobre las características principales de LaTeX y lagunas librerías útiles para escribir documentos más fácilmente.
Temas tratados:
Estructura de documentos
Paquetes
Elementos básicos (secciones, listas)
Figuras
Tablas
Entornos matemáticos (ecuaciones anotadas https://github.com/synercys/annotated_latex_equations)
Fragmentos de código
Referencias
Acrónimos y comandos
[JPDC,JCC@LMN22] Ad hoc systems Management and specification with distributed...Universidad de los Andes
This presents the main ideas behind Distributed ad hoc Petri nets (DaPNs). A specification and run-time model to manage and reason about ad hoc distributed systems.
The presentation describes the main contributions of our work validated through a case study on vehicular ad hoc distributed networks.
This work is available at the Journal of Parallel and Distributed Computing, and was presented at the Lo Mejor de lo nuestro #LMN2022, at the Jornadas Chilenas de Computación 2022
Link to the paper: https://doi.org/10.1016/j.jpdc.2022.06.015
This work presents the evaluation of the two classic workstealing algorithms (FIFO and LIFO) together with a new proposed implementation based on the priority of tasks calculated using the longest path as a metric
Language Abstractions and Techniques for Developing Collective Adaptive Syste...Universidad de los Andes
Presentation at the 5th eCAS Workshop on Engineering Collective Adaptive Systems 2020, colocated with acsos.
Collective Adaptive Systems (CAS) are increasingly used as a model for building and managing large- scale cyber-physical systems, highlighting the need for a flexible approach for their definition and engineering. CAS consist of multiple individual context-aware self-adaptive systems, which need to adapt to their own environment, but also interact with each other, resulting in the global CAS behavior. Interactions can emerge as complementary or conflicting, and needs to be managed to assure a correct global behavior. Context-oriented Programming (COP) is one of the programming paradigms that has risen as a suitable approach to developing self-adaptive systems, due to the natural mapping of its programming constructs to self- adaptive systems taxonomy. Recently, multiple extensions to the COP model have been developed, which manage inter- actions between adaptive components (or systems), enabling its suitability for developing CAS as well. In this paper, we map out the COP language abstractions to the characteristics of CAS, demonstrating COP applicability, its formalization, verification tools, and adaptation composition techniques to foster CAS. Our discussion is illustrated using city-wide bus transport management system, as an example of a CAS.
Does Neuron Coverage Matter for Deep Reinforcement Learning? A preliminary studyUniversidad de los Andes
This work is presented at the 2020 Workshop on Testing for Deep Learning and Deep Learning for Testing (DeepTest) co-located with ICSE held virtually.
This work analyzes the possibility of using neuron coverage as a test adequacy metric for Deep Reinforcement Learning (DeepRL). This work spawns from the positive results in using neuron coverage to test (deep) neural networks. However, testing DeepRL systems, brings its own challenges. In the presentation, and associated paper, we discuss the characteristics of DeepRL that prevent promoting neuron coverage as an adequacy testing metric.
The paper is available at: https://deeptestconf.github.io/pdfs/2020-Trujillo-DeepTest.pdf
This work is presented at the 2020 Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) co-located with ICSE held virtually.
In this work we present the early results of our ComInA technique to learn the way behavior adaptations interact with each other, and from there, offer the most appropriate composition of adaptations. Our technique uses a combination of Context-oriented programming and reinforcement learning to define and compose fine-grained modular adaptations, and learn their interaction respectively
Talk presented at the 2019 Context-oriented programming workshop colocated with ECOOP in london.
This work presents an extension to Context petri nets (CoPN) to enable the communication between different nodes, each defined using a CoPN. This extension demonstrates the interaction with different context dependency relations in face of unannounced connection and disconnection of nodes.
Talk presented at the 2018 Context-oriented programming workshop colocated with ECOOP in Amsterdam.
This work presents a small query language designed for the activation of context objects in response to information gathered from sensors. The objective of CQL is to enable the possibility to activate multiple contexts simultaneously, using a single query
Talk presented at the 2018 machine learning for programming languages workshop colocated with ECOOP in Amsterdam.
This work presents the use of reinforcement learning for the discovery of context objects to drive behavioral adaptations. Our technique uses information gathered from the systems environment to define context, associating the actions taken by the user in such situations to define and automate behavioral adaptations
Presentation for the bachelor thesis project at Universidad de los Andes 2020-10.
This thesis studies the use parallel programming techniques to speed-up the decomposition phase of the constraint solving problem. The technique is integrated with the Oscar-CP solver, and explores the exam assignment problem
1. Context-oriented programming is a programming language technique that enables behavioral adaptations to a system's surrounding execution context.
2. It allows behaviors to be defined through traits that can be activated or deactivated at runtime depending on the current context.
3. This approach addresses issues with disconnected behavior definitions and the need to select the appropriate implementation at runtime.
Talk presented at the 2017 Context-oriented programming workshop colocated with ECOOP in barcelona.
This work presents a reinforcement learning based solution to resolve conflicts between dynamic adaptations.
Talk presented at the 2016 Onward! conference colocated with splash in amsterdam.
This work presents a framework for the spontaneous interaction (composition) of service components by learning services APIs. Upon discovery of services with a known API the composition is seamless.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
A review of the growth of the Israel Genealogy Research Association Database Collection for the last 12 months. Our collection is now passed the 3 million mark and still growing. See which archives have contributed the most. See the different types of records we have, and which years have had records added. You can also see what we have for the future.
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
Chapter wise All Notes of First year Basic Civil Engineering.pptxDenish Jangid
Chapter wise All Notes of First year Basic Civil Engineering
Syllabus
Chapter-1
Introduction to objective, scope and outcome the subject
Chapter 2
Introduction: Scope and Specialization of Civil Engineering, Role of civil Engineer in Society, Impact of infrastructural development on economy of country.
Chapter 3
Surveying: Object Principles & Types of Surveying; Site Plans, Plans & Maps; Scales & Unit of different Measurements.
Linear Measurements: Instruments used. Linear Measurement by Tape, Ranging out Survey Lines and overcoming Obstructions; Measurements on sloping ground; Tape corrections, conventional symbols. Angular Measurements: Instruments used; Introduction to Compass Surveying, Bearings and Longitude & Latitude of a Line, Introduction to total station.
Levelling: Instrument used Object of levelling, Methods of levelling in brief, and Contour maps.
Chapter 4
Buildings: Selection of site for Buildings, Layout of Building Plan, Types of buildings, Plinth area, carpet area, floor space index, Introduction to building byelaws, concept of sun light & ventilation. Components of Buildings & their functions, Basic concept of R.C.C., Introduction to types of foundation
Chapter 5
Transportation: Introduction to Transportation Engineering; Traffic and Road Safety: Types and Characteristics of Various Modes of Transportation; Various Road Traffic Signs, Causes of Accidents and Road Safety Measures.
Chapter 6
Environmental Engineering: Environmental Pollution, Environmental Acts and Regulations, Functional Concepts of Ecology, Basics of Species, Biodiversity, Ecosystem, Hydrological Cycle; Chemical Cycles: Carbon, Nitrogen & Phosphorus; Energy Flow in Ecosystems.
Water Pollution: Water Quality standards, Introduction to Treatment & Disposal of Waste Water. Reuse and Saving of Water, Rain Water Harvesting. Solid Waste Management: Classification of Solid Waste, Collection, Transportation and Disposal of Solid. Recycling of Solid Waste: Energy Recovery, Sanitary Landfill, On-Site Sanitation. Air & Noise Pollution: Primary and Secondary air pollutants, Harmful effects of Air Pollution, Control of Air Pollution. . Noise Pollution Harmful Effects of noise pollution, control of noise pollution, Global warming & Climate Change, Ozone depletion, Greenhouse effect
Text Books:
1. Palancharmy, Basic Civil Engineering, McGraw Hill publishers.
2. Satheesh Gopi, Basic Civil Engineering, Pearson Publishers.
3. Ketki Rangwala Dalal, Essentials of Civil Engineering, Charotar Publishing House.
4. BCP, Surveying volume 1
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
Beyond Degrees - Empowering the Workforce in the Context of Skills-First.pptxEduSkills OECD
Iván Bornacelly, Policy Analyst at the OECD Centre for Skills, OECD, presents at the webinar 'Tackling job market gaps with a skills-first approach' on 12 June 2024
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
Generating Adaptations from the System Execution using Reinforcement Learning Options
1. Nicolás Cardozo - Ivana Dusparic
@ncardoz - @ivanadusparic
n.cardozo@uniandes.edu.co - ivana.dusparic@scss.tcd.ie
COP’21 - International Workshop on Context-Oriented Programming and Advanced Modularity - July 12 - (Virtual)
Generating Adaptations from the System
Execution using Reinforcement Learning
Options
2. Context-oriented programming
2
COP systems are software systems which have
to dynamically adapt their behavior in order to
cope with a changing environment.
[Acher et al. 09]
3. Context-oriented programming
2
COP systems are software systems which have
to dynamically adapt their behavior in order to
cope with a changing environment.
[Acher et al. 09]
[context-aware systems] use context to provide
relevant information and/or services to the user,
where relevancy depends on the user’s task
[Dey 01]
Context-oriented Programming (COP) as a new
programming technique to enable context-
dependent computation. We claim that Context-
oriented Programming brings a similar degree of
dynamicity to the notion of behavioral variations
[Hirshfeld et al. 08]
Context-oriented programming [6] is a
technique to modularize context-dependent
behavioral variations in a program, where those
behavioral variations can be dynamically
switched on and off in response to changes of
execution contexts
[Aotani et al. 11]
Context-oriented Programming (COP) [4]
enriches programming languages and
execution environments with features to
explicitly represent context-dependent
behavior variations.
[Appeltauer et al. 08]
Context-Oriented Programming (COP) [3] to
support programmers in developing software that
can dynamically change its behavior depending
on context information. [Afanasov et al. 13]
Context-aware systems are able to adapt their
behaviour depending on their context of use
without explicit user intervention
[Bainomugisha et al. 09]
described as a way to promote runtime
variability use and as a mechanism for
managing context features dynamically to cater
to the needs of dynamic adaptation
[Capilla et al. 14]
the goal of Context-oriented
Programming is to avoid having to spread
context-dependent behavior throughout a
program…
… can only be applied for context-
dependent behavior that are anticipated
in the software development process.
[Constanza et al. 05]
COP addresses the need for applications to
behave differently accordingly to the changing
run-time context in which they are embedded.
[ghezzi et al. 10]
In order to implement systems that are able to
use the implicit situational information…
… the system is able to learn from the user
preferences in order to autonomously evolve his
rules for future behavior
[Alegre et al. 16]
The combination of COP with computational reflection
opens further possibilities for runtime software adaptivity.
[Gonzalez et al. 09]
4. Context-oriented programming
3
Contexts are
(meaningful) situations
gathered from the
surrounding environment
Behavior variations correspond to
the specialized behavior
appropriate for a specific context
Adaptations correspond to the
behavior observed by the
system when executing in a
context
[S. Gonzalez. Programming in Ambience: Gearing up for dynamic adaptation to context. PhD thesis, 2008]
6. Context-oriented programming
5
Off-hook Silent Meeting Forwarding Behavior
x x x Ringtone
x ✔ x Vibrate
x ✔ ✔ x Vibrate
x ✔ ✔ ✔ Call forwarding
✔ x x Call waiting
✔ ✔ x Call waiting
✔ ✔ ✔ x Call waiting
✔ ✔ ✔ ✔ Call forwarding
15. 12
System design
The system must:
•Have users or be autonomous
•A defined goal
•A a way to know we progress towards
the goal
•A finite set of states
•A finite set of actions
16. 13
Context monitoring
To incorporate contexts (and their behavior)
dynamically, we need to capture the system state
and possible actions
5x5 grid
move_north()
move_south()
move_east()
move_west()
pickup()
dropoff()
28. 2
1
19
RL options
-1
-1
1
1
Action (sequences) get a reward for every state
0
10
3
Use RL to learn the best action sequence as the
option, based on the accumulated reward
Accumulate rewards for actions sequences
∑
a∈A
q(s, a)
29. 20
RL options
for i in 1..batchSize:
action_sequence[s].push(a, r+q_value[s][a])
while not done:
if P(s) >= 𝜀:
a = q_val[s]
r,next_state,done = step(a)
q_val[s][a] = (1-𝛼)*q_val[s][a] + 𝛼*(r + 𝛾*next_state)
——-
options.add(s, action_sequence)
while true:
if available_adaptation(s):
context,option = pick_option(𝜀, s)
context.activate()
execute(option)
context.deactivate()
31. 22
Warehouse robot delivery
Robot moves in a defined space searching for packages and takes them to the delivery area
Packages are at fixed locations
Paths to delivery are always the
same!
32. 23
Warehouse robot delivery
There is a context for each location of the robot, for each product
ContextDiamond23 = new cop.Context{(
name: “Diamond-2,3”
})
ContextShirt20 = new cop.Context{(
name: “Shirt-2,0”
})
ContextCarrot44 = new cop.Context{(
name: “Carrot-4,4”
})
33. 23
Warehouse robot delivery
There is a context for each location of the robot, for each product
ContextDiamond23 = new cop.Context{(
name: “Diamond-2,3”
})
ContextShirt20 = new cop.Context{(
name: “Shirt-2,0”
})
ContextCarrot44 = new cop.Context{(
name: “Carrot-4,4”
})
.
.
.
…
34. 24
Warehouse robot delivery
Robot moves in a defined space searching for packages and takes them to the delivery area
Context23false = new cop.Context({
name: “Context23false"
})
BAContext23false = Trait({
option: function() {
this.south();
this.west();
this.west();
this.south();
this.dropoff();
})
35.
36. 26
✓ Continuously process execution traces to extract action
sequences and their state
✓ Generated adaptations from extracted options
✓ Use of RL to manage options as the system’s most
appropriate behavior, and continuously update new options
Pushing COP forward not only to enable dynamic behavior
variations. Auto-COP lets systems to become adaptive to
unknown contexts and behavior
@ncardoz n.cardozo@uniandes.edu.co
37. 26
✓ Continuously process execution traces to extract action
sequences and their state
✓ Generated adaptations from extracted options
✓ Use of RL to manage options as the system’s most
appropriate behavior, and continuously update new options
Pushing COP forward not only to enable dynamic behavior
variations. Auto-COP lets systems to become adaptive to
unknown contexts and behavior
@ncardoz n.cardozo@uniandes.edu.co
Explore more system types
Integrate lifelong learning techniques to manage generated
adaptations