From 3fb56bfe9f8b4547db984ecd5d6e3e6c35f432e3 Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Wed, 9 Aug 2017 16:58:24 +0100
Subject: [PATCH] Added documentation

---
 force_bdss/mco/base_mco.py | 14 +++++++++++++-
 force_bdss/mco/events.py   |  9 ++++++---
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/force_bdss/mco/base_mco.py b/force_bdss/mco/base_mco.py
index 1edb2c5..ae9d89b 100644
--- a/force_bdss/mco/base_mco.py
+++ b/force_bdss/mco/base_mco.py
@@ -14,7 +14,7 @@ class BaseMCO(ABCHasStrictTraits):
     #: A reference to the factory
     factory = Instance(IMCOFactory)
 
-    #: Must be triggered when an event occurs.
+    #: Triggered when an event occurs.
     event = Event(BaseMCOEvent)
 
     def __init__(self, factory, *args, **kwargs):
@@ -41,4 +41,16 @@ class BaseMCO(ABCHasStrictTraits):
         """
 
     def notify_event(self, event):
+        """Method based interface to deliver an event, instead of
+        assignment to traits.
+
+        Sends the event, synchronously. When the routine returns,
+        listeners have been fully informed (they might, however, handle
+        the event asynchronously at their convenience)
+
+        Parameters
+        ----------
+        event: BaseMCOEvent
+            The event to deliver.
+        """
         self.event = event
diff --git a/force_bdss/mco/events.py b/force_bdss/mco/events.py
index 2800b8b..216e1ef 100644
--- a/force_bdss/mco/events.py
+++ b/force_bdss/mco/events.py
@@ -2,17 +2,20 @@ from traits.api import HasStrictTraits, Tuple
 
 
 class BaseMCOEvent(HasStrictTraits):
-    pass
+    """Base event for the MCO"""
 
 
 class MCOStartEvent(BaseMCOEvent):
-    pass
+    """MCO should emit this event when the evaluation starts."""
 
 
 class MCOFinishEvent(BaseMCOEvent):
-    pass
+    """MCO should emit this event when the evaluation ends."""
 
 
 class MCOProgressEvent(BaseMCOEvent):
+    """MCO should emit this event for every new evaluation that has been
+    completed. It carries data about the evaluation, specifically the
+    input data (MCO parameter values) and the resulting output (KPIs)."""
     input = Tuple()
     output = Tuple()
-- 
GitLab