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

From Self-Organization Wiki
Jump to: navigation, search
(New page: * Clearly specify goals and performance metrics * Check the following options: ** Applying a reference design **** Biologically-inspired **** From other disciplines ** Mathematica...)
 
(Design Process)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
= Design Process=
 +
Difference w.r.t. traditional system design
 +
* a top-down approach should produce local rules
  
* Clearly specify goals and performance metrics
+
==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
  
* Check the following options:
+
=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
  
** Applying a reference design
+
=Checklist=
**** Biologically-inspired
+
Issues to be kept in mind:
**** From other disciplines
+
* Does the proposed solution meets the performance goals?
 
+
* Did you consider all important constraints? Is it feasible to implement in practice?
** Mathematical model
+
* Is the proposed solution scalable?
 
+
* Is the proposed solution robust to faults?
** Trial and error
+
* Did you compare the solution to external control solutions and to known theoretical bounds?
**** Manual trial and error
+
* Are there any potential deadlocks or other impediments?
**** Evolutionary approaches
 

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?