diff --git a/MAC/GCF/GCFCommon/include/GCF/Utils.h b/MAC/GCF/GCFCommon/include/GCF/Utils.h
index 3cfd0628975adb15116742f51352afc3926ea241..102d7e0735ef60c6064e9c27936d40f7420c8019 100644
--- a/MAC/GCF/GCFCommon/include/GCF/Utils.h
+++ b/MAC/GCF/GCFCommon/include/GCF/Utils.h
@@ -5,12 +5,9 @@
 #include <Common/lofar_list.h>
 #include <set>
 
-namespace LOFAR 
-{
- namespace GCF 
- {
-  namespace Common 
-  {
+namespace LOFAR {
+ namespace GCF {
+  namespace Common {
 
 void	convListToString(std::string& listString, 
                          const std::list<std::string>& stringList);
@@ -22,7 +19,6 @@ void	convStringToSet(std::set<std::string>& stringSet,
                         const std::string& setString);
 bool	isValidPropName(const char* propName);    
 bool	isValidScope   (const char* scopeName);
-string 	myHostname	   (bool	giveFullName = false);
 
   } // namespace Common
  } // namespace GCF
diff --git a/MAC/GCF/GCFCommon/src/Utils.cc b/MAC/GCF/GCFCommon/src/Utils.cc
index e75c75ec9a8c1118d1757741285428bb6f695a3b..9236dbd0e99f8358044792694a40827abc83621b 100644
--- a/MAC/GCF/GCFCommon/src/Utils.cc
+++ b/MAC/GCF/GCFCommon/src/Utils.cc
@@ -143,25 +143,6 @@ bool isValidScope(const char* scopeName)
   return valid;
 }
 
-//
-// myHostname(giveFullname)
-//
-string myHostname(bool	giveFullName)
-{
-	char	fullhostname[300];
-	if (gethostname(fullhostname, 300) != 0) {
-		return ("localhost");
-	}
-
-	if (!giveFullName) {
-		char*	dot = strchr(fullhostname, '.');
-		if (dot) {
-			*dot='\0';
-		}
-	}
-
-	return (fullhostname);
-}
   } // namespace Common
  } // namespace GCF
 } // namespace LOFAR
diff --git a/MAC/GCF/_PAL/PA/src/GPA_Controller.cc b/MAC/GCF/_PAL/PA/src/GPA_Controller.cc
index a696a78ff6f30ed19071d39f5a342706f8e1265d..57b5dffb3ac6fb1e7a772d2a170a32ba55085512 100644
--- a/MAC/GCF/_PAL/PA/src/GPA_Controller.cc
+++ b/MAC/GCF/_PAL/PA/src/GPA_Controller.cc
@@ -259,7 +259,7 @@ GCFEvent::TResult GPAController::waiting_state(GCFEvent& e, GCFPortInterface& p)
     case F_TIMER:
     {
       GCFTimerEvent* pTimer = (GCFTimerEvent*)(&e);
-      LOG_DEBUG(formatString("Timer %d expired.", pTimer->id));
+//      LOG_DEBUG(formatString("Timer %d expired.", pTimer->id));
       if (&p == &_distPmlPortProvider)
       {        
         if (pTimer->id == _garbageTimerId)
diff --git a/MAC/Journal b/MAC/Journal
index 7fa37932382b16ae98a3dd4cd19124cbc55253b0..8f3ca553594a3e719f3060bd829d8ff7ea9816bd 100644
--- a/MAC/Journal
+++ b/MAC/Journal
@@ -9,11 +9,17 @@ GCF/GCFCommon
 		with the new FileLocator classes of LCS/Common.
 ** GCF_ServiceInfo.h: Created a file containing all servicenames to be used in MAC
 		as well the well-known portnumber of any ServiceBroker.
+** GCF_PVTypes.h: created file that includes all GCF_PVxxx files.
 
 APL/APLCommon
 ============
 ** Added messages FINISH and FINISHED to LDprotocol to allow ObsCntlrs to tell
 		the MACSchedulers that they are ready.
+** Added ANNOUNCEMENT messages to the StartDaemonProtocol to support shared
+		controller. Modified the other message to meet proposition [A].
+** ControllerDefines.h replaces LogicalDevice.h. The file does not only define
+		constants for controllertypes and their errors but also a collection of
+		routines for creating and using controller names. See proposition [A].
 
 GCF/TM
 ======
@@ -51,8 +57,8 @@ GCF/PAL/PML
 ** GPMController: uses LofarLocators for parameterfiles.
 
 
-GCF/APL/APLCommon
-=================
+APL/APLCommon
+=============
 Updated several sources for new ParameterSet.
 Added several ; at end of LOG_xxx statements.
 Added define LOFAR_SHARE_LOCATION /opt/lofar/share in APL_Defines.h
@@ -78,13 +84,27 @@ Complete new implementation of the MACScheduler: It polls the OTDB itself
 and only controls ObsControllers.
 
 
+PROPOSITIONS
+============
+[A]	The (task)names of the controllers are uniq within LOFAR. This means the name
+	must contain the instanceNr of the controller and the observationID.
+	The construction of the controller/task name is supported in the file
+	ControllerDefines. All tasks/programs/jobs/whatever must always use the 
+	name that is returned by the call controllerName(type, iNr, ObsID).
+	(only the startDaemon uses the sharedControllerName).
+	Note: This proposition is used in ParentControl, ChildControl and the base-
+		  source for shared controllers to do their administration.
+
+
 PROBLEMS TO SOLVE
 =================
 ** BOOST_SP_USE_PTHREADS is now in several .h and .cc file. Like to have a lofar_sharedptr.h.
 ** Can logical device use global parameterSet anywhere?
 ** Support SHARED LogicalDevices in the LDStartDaemon.
 ** GSB_Controller should be made fail save.
+** GSB_Controller should assign the portnumbers round robin to maximize the 
+   're-use interval'.
 ** GTM_ServiceBroker should support multihosts.
 ** GCFTasks are not scheduled right when an event is not handled.
-
+** LDStartDaemon: when execv fails child LDSD keeps running.