Quality Assurance of Agent-Based and Self-Managed Systems