diff --git a/CEP/BB/BBSControl/sql/create_blackboard_functions.sql b/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
index e378f727da975e594a9e610190fde88599078765..f6a244e98212bbafe736819ebc81541fcb852b18 100644
--- a/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
+++ b/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
@@ -1,16 +1,26 @@
 -- -------- --
 -- STRATEGY --
 -- -------- --
-CREATE OR REPLACE FUNCTION blackboard.set_strategy(strategy blackboard.strategy)
+-- Function: blackboard.set_strategy
+-- Full signature:
+-- blackboard.set_strategy("DataSet" TEXT, "ParmDB.LocalSky" TEXT, "ParmDB.Instrument" TEXT, "ParmDB.History" TEXT, "Stations" TEXT, "InputData" TEXT, "WorkDomainSize.Freq" DOUBLE PRECISION, "WorkDomainSize.Time" DOUBLE PRECISION, "Correlation.Selection" TEXT, "Correlation.Type" TEXT)
+CREATE OR REPLACE FUNCTION blackboard.set_strategy(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, DOUBLE PRECISION, DOUBLE PRECISION, TEXT, TEXT)
 RETURNS VOID AS
 $$
-    BEGIN
-        INSERT
-            INTO blackboard.strategy
-            VALUES (strategy);
-    END;
+    INSERT INTO blackboard.strategy(
+        "DataSet", 
+        "ParmDB.LocalSky", 
+        "ParmDB.Instrument", 
+        "ParmDB.History", 
+        "Stations", 
+        "InputData", 
+        "WorkDomainSize.Freq", 
+        "WorkDomainSize.Time", 
+        "Correlation.Selection", 
+        "Correlation.Type")
+    VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);
 $$
-LANGUAGE plpgsql;
+LANGUAGE SQL;
 
 
 CREATE OR REPLACE FUNCTION blackboard.get_strategy()
@@ -60,12 +70,12 @@ CREATE TYPE blackboard.iface_step AS
 (
     "Name"                  TEXT,
     "Operation"             TEXT,
-    "Baselines.Station1"    TEXT[],
-    "Baselines.Station2"    TEXT[],
+    "Baselines.Station1"    TEXT,
+    "Baselines.Station2"    TEXT,
     "Correlation.Selection" TEXT,
-    "Correlation.Type"      TEXT[],
-    "Sources"               TEXT[],
-    "InstrumentModel"       TEXT[],
+    "Correlation.Type"      TEXT,
+    "Sources"               TEXT,
+    "InstrumentModel"       TEXT,
     "OutputData"            TEXT
 );
 
@@ -75,8 +85,8 @@ CREATE TYPE blackboard.iface_solve_arguments AS
     "MaxIter"               INTEGER,
     "Epsilon"               DOUBLE PRECISION,
     "MinConverged"          DOUBLE PRECISION,
-    "Parms"                 TEXT[],
-    "ExclParms"             TEXT[],
+    "Parms"                 TEXT,
+    "ExclParms"             TEXT,
     "DomainSize.Freq"       DOUBLE PRECISION,
     "DomainSize.Time"       DOUBLE PRECISION
 );
@@ -167,8 +177,8 @@ LANGUAGE plpgsql;
 
 -- Function: blackboard.add_step (PRIVATE FUNCTION, DO NOT CALL FROM C++)
 -- Full signature:
--- blackboard.add_step("Name" TEXT, "Operation" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData" TEXT)
-CREATE OR REPLACE FUNCTION blackboard.add_step(TEXT, TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT)
+-- blackboard.add_step("Name" TEXT, "Operation" TEXT, "Baselines.Station1" TEXT, "Baselines.Station2" TEXT, "Correlation.Selection" TEXT, "Correlation.Type" TEXT, "Sources" TEXT, "InstrumentModel" TEXT, "OutputData" TEXT)
+CREATE OR REPLACE FUNCTION blackboard.add_step(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT)
 RETURNS INTEGER AS
 $$
     DECLARE
@@ -201,8 +211,8 @@ LANGUAGE plpgsql;
 
 -- Function: blackboard.add_predict_step
 -- Full signature:
--- blackboard.add_predict_step("Name" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData")
-CREATE OR REPLACE FUNCTION blackboard.add_predict_step(TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT)
+-- blackboard.add_predict_step("Name" TEXT, "Baselines.Station1" TEXT, "Baselines.Station2" TEXT, "Correlation.Selection" TEXT, "Correlation.Type" TEXT, "Sources" TEXT, "InstrumentModel" TEXT, "OutputData")
+CREATE OR REPLACE FUNCTION blackboard.add_predict_step(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT)
 RETURNS INTEGER AS
 $$
     SELECT blackboard.add_step($1, 'PREDICT', $2, $3, $4, $5, $6, $7, $8);
@@ -212,8 +222,8 @@ LANGUAGE SQL;
 
 -- Function: blackboard.add_subtract_step
 -- Full signature:
--- blackboard.add_subtract_step("Name" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData")
-CREATE OR REPLACE FUNCTION blackboard.add_subtract_step(TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT)
+-- blackboard.add_subtract_step("Name" TEXT, "Baselines.Station1" TEXT, "Baselines.Station2" TEXT, "Correlation.Selection" TEXT, "Correlation.Type" TEXT, "Sources" TEXT, "InstrumentModel" TEXT, "OutputData")
+CREATE OR REPLACE FUNCTION blackboard.add_subtract_step(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT)
 RETURNS INTEGER AS
 $$
     SELECT blackboard.add_step($1, 'SUBTRACT', $2, $3, $4, $5, $6, $7, $8);
@@ -223,8 +233,8 @@ LANGUAGE SQL;
 
 -- Function: blackboard.add_correct_step
 -- Full signature:
--- blackboard.add_correct_step("Name" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData")
-CREATE OR REPLACE FUNCTION blackboard.add_correct_step(TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT)
+-- blackboard.add_correct_step("Name" TEXT, "Baselines.Station1" TEXT, "Baselines.Station2" TEXT, "Correlation.Selection" TEXT, "Correlation.Type" TEXT, "Sources" TEXT, "InstrumentModel" TEXT, "OutputData")
+CREATE OR REPLACE FUNCTION blackboard.add_correct_step(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT)
 RETURNS INTEGER AS
 $$
     SELECT blackboard.add_step($1, 'CORRECT', $2, $3, $4, $5, $6, $7, $8);
@@ -234,8 +244,8 @@ LANGUAGE SQL;
 
 -- Function: blackboard.add_solve_step
 -- Full signature:
--- blackboard.add_solve_step("Name" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData" TEXT, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT[], "ExclParms" TEXT[], "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
-CREATE OR REPLACE FUNCTION blackboard.add_solve_step(TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT[], TEXT[], DOUBLE PRECISION, DOUBLE PRECISION)
+-- blackboard.add_solve_step("Name" TEXT, "Baselines.Station1" TEXT, "Baselines.Station2" TEXT, "Correlation.Selection" TEXT, "Correlation.Type" TEXT, "Sources" TEXT, "InstrumentModel" TEXT, "OutputData" TEXT, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT, "ExclParms" TEXT, "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
+CREATE OR REPLACE FUNCTION blackboard.add_solve_step(TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, TEXT, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT, TEXT, DOUBLE PRECISION, DOUBLE PRECISION)
 RETURNS VOID AS
 $$
     DECLARE
@@ -260,8 +270,8 @@ LANGUAGE plpgsql;
 
 -- Function: blackboard.add_solve_arguments
 -- Full signature:
--- blackboard.add_solve_arguments(_step_id INTEGER, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT[], "ExclParms" TEXT[], "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
---CREATE OR REPLACE FUNCTION blackboard.add_solve_arguments(INTEGER, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT[], TEXT[], DOUBLE PRECISION, DOUBLE PRECISION)
+-- blackboard.add_solve_arguments(_step_id INTEGER, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT, "ExclParms" TEXT, "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
+--CREATE OR REPLACE FUNCTION blackboard.add_solve_arguments(INTEGER, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT, TEXT, DOUBLE PRECISION, DOUBLE PRECISION)
 --RETURNS VOID AS
 --$$
 --    INSERT INTO blackboard.solve_arguments(step_id, "MaxIter", "Epsilon", "MinConverged", "Parms", "ExclParms", "DomainSize.Freq", "DomainSize.Time")
diff --git a/CEP/BB/BBSControl/sql/create_blackboard_tables.sql b/CEP/BB/BBSControl/sql/create_blackboard_tables.sql
index db991429c33173b6e20aa5917e5e4fa3dfab2f90..35caf58500329535739152711e055dea04c8dda2 100644
--- a/CEP/BB/BBSControl/sql/create_blackboard_tables.sql
+++ b/CEP/BB/BBSControl/sql/create_blackboard_tables.sql
@@ -6,13 +6,13 @@ CREATE TABLE blackboard.strategy
     "ParmDB.Instrument"     TEXT                NOT NULL,
     "ParmDB.History"        TEXT                NOT NULL,
 
-    "Stations"              TEXT[]              DEFAULT '{}',
+    "Stations"              TEXT                DEFAULT '[]',
     "InputData"             TEXT                DEFAULT 'DATA',
     "WorkDomainSize.Freq"   DOUBLE PRECISION    NOT NULL,
     "WorkDomainSize.Time"   DOUBLE PRECISION    NOT NULL,
       
     "Correlation.Selection" TEXT                DEFAULT 'CROSS',
-    "Correlation.Type"      TEXT[]              DEFAULT '{"XX","XY","YX","YY"}'
+    "Correlation.Type"      TEXT                DEFAULT '["XX","XY","YX","YY"]'
 );
 
 
@@ -37,14 +37,14 @@ CREATE TABLE blackboard.step
     "Name"                  TEXT                NOT NULL,
     "Operation"             TEXT                NOT NULL,
     
-    "Baselines.Station1"    TEXT[]              DEFAULT '{}',
-    "Baselines.Station2"    TEXT[]              DEFAULT '{}',
+    "Baselines.Station1"    TEXT                DEFAULT '[]',
+    "Baselines.Station2"    TEXT                DEFAULT '[]',
     
     "Correlation.Selection" TEXT                DEFAULT 'CROSS',
-    "Correlation.Type"      TEXT[]              DEFAULT '{"XX","XY","YX","YY"}',
+    "Correlation.Type"      TEXT                DEFAULT '["XX","XY","YX","YY"]',
     
-    "Sources"               TEXT[]              DEFAULT '{}',
-    "InstrumentModel"       TEXT[]              DEFAULT '{}',
+    "Sources"               TEXT                DEFAULT '[]',
+    "InstrumentModel"       TEXT                DEFAULT '[]',
 
     "OutputData"            TEXT                DEFAULT 'CORRECTED_DATA'
 );
@@ -57,8 +57,8 @@ CREATE TABLE blackboard.solve_arguments
     "MaxIter"               INTEGER             DEFAULT 1,
     "Epsilon"               DOUBLE PRECISION    DEFAULT 1e-6,
     "MinConverged"          DOUBLE PRECISION    DEFAULT 100.0,
-    "Parms"                 TEXT[]              DEFAULT '{}',
-    "ExclParms"             TEXT[]              DEFAULT '{}',
+    "Parms"                 TEXT                DEFAULT '[]',
+    "ExclParms"             TEXT                DEFAULT '[]',
     "DomainSize.Freq"       DOUBLE PRECISION    NOT NULL,
     "DomainSize.Time"       DOUBLE PRECISION    NOT NULL
 );