Index: src/libcfa/concurrency/kernel
===================================================================
--- src/libcfa/concurrency/kernel	(revision 0f5605831af289410e02930b6965262873df0fc9)
+++ src/libcfa/concurrency/kernel	(revision 43bd69d845b53866c0b7c623879cfefde2b5a415)
@@ -48,12 +48,20 @@
 	__queue_t(thread_desc) ready_queue;
 
+	// Name of the cluster
+	const char * name;
+
 	// Preemption rate on this cluster
 	Duration preemption_rate;
 };
 
+extern struct cluster * mainCluster;
 extern Duration default_preemption();
 
-void ?{} (cluster & this);
+void ?{} (cluster & this, const char * name, Duration preemption_rate);
 void ^?{}(cluster & this);
+
+static inline void ?{} (cluster & this)                           { this{"Anonymous Cluster", default_preemption()}; }
+static inline void ?{} (cluster & this, Duration preemption_rate) { this{"Anonymous Cluster", preemption_rate}; }
+static inline void ?{} (cluster & this, const char * name)        { this{name, default_preemption()}; }
 
 //-----------------------------------------------------------------------------
@@ -92,4 +100,7 @@
 	cluster * cltr;
 
+	// Name of the processor
+	const char * name;
+
 	// Handle to pthreads
 	pthread_t kernel_thread;
@@ -119,7 +130,10 @@
 };
 
-void  ?{}(processor & this);
-void  ?{}(processor & this, cluster * cltr);
+void  ?{}(processor & this, const char * name, cluster & cltr);
 void ^?{}(processor & this);
+
+static inline void  ?{}(processor & this)                    { this{ "Anonymous Processor", *mainCluster}; }
+static inline void  ?{}(processor & this, cluster & cltr)    { this{ "Anonymous Processor", cltr}; }
+static inline void  ?{}(processor & this, const char * name) { this{name, *mainCluster }; }
 
 // Local Variables: //
