How I Built a Self-adaptive System
avalanche123.com
How I Built a Self-adaptive System
1–7 of 7 posts
Re: How I Built a Self-adaptive System
#2>> These systems are also decentralized and consist of a number of lower level primitive components, collaboration of which on a higher level produces very complex and intelligent behaviors.
After reading the first paragraph, I was getting excited and put my Emerging Behavior thinking hat on -- Particle Swarms, Ant Colony Optimization algorithms, or even Wolfram's New Kind Of Science and The Game of Life -- only to find out that the system was a if-then rule-based program?
>> While in most biological systems all of those rules are written in cell’s DNA, for a software system I needed to find a good framework for defining those.
Fancy stuff, the likes of Genetic Algorithms, Evolutionary Systems, Memetics? But no... Not those kind of self-adapting systems..
Am I missing something?
PS: Fuzzy control and Neural Nets sound like a whole different ball-game to me ;)
But hey, good stuff nonetheless -- thanks for sharing and glad to hear it was well-received
Re: How I Built a Self-adaptive System
#3Re: How I Built a Self-adaptive System
#4While I like the connection you made between your self-adaptive system and self-adaptive systems by Mother nature, I couldn't see the analogy beyond the fact that they both use the word 'self-adaptive'. >> These systems are also decentralized and consist of a number of lower level primitive components, collaboration of which on a higher level produces very complex and intelligent behaviors. After reading the first pa…
Re: How I Built a Self-adaptive System
#5From the description, this sounds quite over-engineered. You need a system to queue jobs and to automatically restart jobs that fail? I must be missing something here, can you help me figure out what it is?
Re: How I Built a Self-adaptive System
#6From the description, this sounds quite over-engineered. You need a system to queue jobs and to automatically restart jobs that fail? I must be missing something here, can you help me figure out what it is?
This was my initial idea. However, consider this scenario. I need to boot a web stack (db master, pool of db slaves, webservers and a load balancer). I boot a master, job succeeds, then I boot slaves, job succeeds. I boot webservers, but by this time master is shut down or becomes unavailable. Because of a job-based approach, this will never be detected and fixed by the controller. The chosen approach would detect th…
More generally, looks like you just form a DAG to map out the dependencies and use it to figure out what to do. The daemon could then periodically traverse the DAG starting from the root to each leaf starting jobs as required. Could you explain why this kind of approach was unfeasible in your scenario?
Re: How I Built a Self-adaptive System
#7Earlier quoted context omitted.
This was my initial idea. However, consider this scenario. I need to boot a web stack (db master, pool of db slaves, webservers and a load balancer). I boot a master, job succeeds, then I boot slaves, job succeeds. I boot webservers, but by this time master is shut down or becomes unavailable. Because of a job-based approach, this will never be detected and fixed by the controller. The chosen approach would detect th…
Fundamentally, each of the tasks is a separate job. Why not just order the jobs in an array and start them in order? So if a job at some index needed to be restarted/started for some reason, you would first go through and start everything before it. More generally, looks like you just form a DAG to map out the dependencies and use it to figure out what to do. The daemon could then periodically traverse the DAG starti…