Difference between revisions of "Checklist and Best Practice Examples for Designing Self-Organizing Systems"
From Self-Organization Wiki
(→Design Process) |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Design Process= | = Design Process= | ||
+ | Difference w.r.t. traditional system design | ||
+ | * a top-down approach should produce local rules | ||
+ | |||
==1. Clearly specify== | ==1. Clearly specify== | ||
* goals | * goals | ||
Line 13: | Line 16: | ||
** Evolutionary approaches | ** Evolutionary approaches | ||
==3. Iterate== | ==3. Iterate== | ||
+ | * Refine goals | ||
+ | * Integrate more constraints into the model | ||
=Best Practice Example= | =Best Practice Example= | ||
Line 20: | Line 25: | ||
=Checklist= | =Checklist= | ||
+ | Issues to be kept in mind: | ||
+ | * Does the proposed solution meets the performance goals? | ||
+ | * Did you consider all important constraints? Is it feasible to implement in practice? | ||
+ | * Is the proposed solution scalable? | ||
+ | * Is the proposed solution robust to faults? | ||
+ | * Did you compare the solution to external control solutions and to known theoretical bounds? | ||
+ | * Are there any potential deadlocks or other impediments? |
Latest revision as of 14:21, 29 July 2010
Contents
Design Process
Difference w.r.t. traditional system design
- a top-down approach should produce local rules
1. Clearly specify
- goals
- performance metrics
- constraints (limited resources, like energy)
2. Check the following options
- Applying a reference design
- Biologically-inspired
- From other disciplines
- Mathematical model
- Trial and error (test the resulting global behavior from different types of local interactions)
- Manual trial and error
- Evolutionary approaches
3. Iterate
- Refine goals
- Integrate more constraints into the model
Best Practice Example
- Define an idealized system (e.g. no delays, simple topologies, perfect and simple environment), where still no entity has global view
- Find a simple distributed solution for the given goal
- Gradually enhance the system model and solution to make it more realistic
Checklist
Issues to be kept in mind:
- Does the proposed solution meets the performance goals?
- Did you consider all important constraints? Is it feasible to implement in practice?
- Is the proposed solution scalable?
- Is the proposed solution robust to faults?
- Did you compare the solution to external control solutions and to known theoretical bounds?
- Are there any potential deadlocks or other impediments?