Difference between revisions of "Checklist and Best Practice Examples for Designing Self-Organizing Systems"

From Self-Organization Wiki
Jump to: navigation, search
(Checklist)
(Design Process)
 
(3 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?  
 
* Does the proposed solution meets the performance goals?  
* Did you consider all important constraints?
+
* Did you consider all important constraints? Is it feasible to implement in practice?  
 
* Is the proposed solution scalable?  
 
* Is the proposed solution scalable?  
 
* Is the proposed solution robust to faults?
 
* Is the proposed solution robust to faults?
 
* Did you compare the solution to external control solutions and to known theoretical bounds?
 
* 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

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?