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

From Self-Organization Wiki
Jump to: navigation, search
(Design Process)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==1. Clearly specify goals and performance metrics==
+
= 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==
 
==2. Check the following options==
 
* Applying a reference design  
 
* Applying a reference design  
Line 8: Line 15:
 
** Manual trial and error  
 
** Manual trial and error  
 
** Evolutionary approaches
 
** Evolutionary approaches
 +
==3. Iterate==
 +
* Refine goals
 +
* Integrate more constraints into the model
  
 
=Best Practice Example=
 
=Best Practice Example=
* Define an idealized system (e.g. no delays, simple topologies), where still no entity has global view
+
* 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  
 
* Find a simple distributed solution for the given goal  
 
* Gradually enhance the system model and solution to make it more realistic
 
* 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?

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?