diff --git a/CMakeLists.txt b/CMakeLists.txt
index 932319d303651e79c24ccbf0f5a023f6762e4a52..b2a2c14edbead10e40657b61acf894f4ae65fb79 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -77,7 +77,8 @@ list(REMOVE_DUPLICATES GENERATOR_ARGS)
 
 if(GENERATOR_ARGS)
 	message(STATUS "[${PROJECT_NAME}] Additional Generator Arguments: ${GENERATOR_ARGS}")
-  add_definitions(-DGENERATOR_ARGS="${GENERATOR_ARGS}")
+    string (REPLACE ";" " " _TMP_STR "${GENERATOR_ARGS}")
+    add_definitions(-DGENERATOR_ARGS="${_TMP_STR}")
 else()
   add_definitions(-DGENERATOR_ARGS="")
   set(GENERATOR_ARGS "" CACHE STRING "")
diff --git a/app/bcc1/alarm1/CMakeLists.txt b/app/bcc1/alarm1/CMakeLists.txt
index d5a06fc9995a49d86bd6bc7bc9377109d753e550..2eaf1d3affad102f124581f5a133c277bf6f405c 100644
--- a/app/bcc1/alarm1/CMakeLists.txt
+++ b/app/bcc1/alarm1/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_alarm1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm1b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm1c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_c.py
   LIBS libtest
   TEST_ISO
@@ -27,7 +27,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm1d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_d.py
   LIBS libtest
   TEST_ISO
@@ -36,7 +36,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm1e
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_e.py
   LIBS libtest
   TEST_ISO
@@ -46,7 +46,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm1f
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   # VERIFY verify_f.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/alarm1/osekossystem.xml b/app/bcc1/alarm1/osekossystem.xml
deleted file mode 100644
index a2f197311e64b606c61920614f06ce8d3e84a8f5..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm1/osekossystem.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ALARM>
-    <name>A1</name>
-    <COUNTER>C1</COUNTER>
-    <ARMED>TRUE</ARMED>
-    <CYCLETIME>100</CYCLETIME>
-    <RELTIME>100</RELTIME>
-    <ACTIVATETASK>
-      <TASK>H2</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>C1</name>
-    <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-</oseksystem>
diff --git a/app/bcc1/alarm1/system.xml b/app/bcc1/alarm1/system.xml
deleted file mode 100644
index 218dd64c3c4ccecac0767dc831c72e37c6cb7af1..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm1/system.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>E1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>E2</identifier>
-    <period>2000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>E3</identifier>
-    <period>4000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>E1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>E2</event>
-    <subtask root="true">
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>E3</event>
-    <subtask root="true">
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/alarm2/CMakeLists.txt b/app/bcc1/alarm2/CMakeLists.txt
index d6740bd6b5387e9bbab3bbdec5f1b10ca07e0d7e..35162828a5651394fa487ff5a2820d3522a5d454 100644
--- a/app/bcc1/alarm2/CMakeLists.txt
+++ b/app/bcc1/alarm2/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_alarm2a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   TEST_ISO
   a.cc
@@ -8,7 +8,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm2b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   TEST_ISO
   b.cc
@@ -16,7 +16,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm2c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   TEST_ISO
   c.cc
diff --git a/app/bcc1/alarm2/osekossystem.xml b/app/bcc1/alarm2/osekossystem.xml
deleted file mode 100644
index 7fb2daef7f49dcb3e00aca63d1cd4d9b782f623c..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm2/osekossystem.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <ALARM>
-    <name>A1</name>
-    <COUNTER>C1</COUNTER>
-    <ACTIVATETASK>
-      <TASK>H1</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-
-  <ALARM>
-    <name>A2</name>
-    <COUNTER>C2</COUNTER>
-    <ACTIVATETASK>
-      <TASK>H2</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>C1</name>
-    <MAXALLOWEDVALUE>1024</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-  <HARDWARECOUNTER>
-    <name>C2</name>
-    <MAXALLOWEDVALUE>1024</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-</oseksystem>
diff --git a/app/bcc1/alarm2/system.oil b/app/bcc1/alarm2/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..8554d581935aa35a790f78bf9854ac8ec06f382f
--- /dev/null
+++ b/app/bcc1/alarm2/system.oil
@@ -0,0 +1,62 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H1;
+        };
+    };
+
+    ALARM A2 {
+        COUNTER = C2;
+        ACTION = ACTIVATETASK {
+            TASK = H2;
+        };
+    };
+
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1024;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+    COUNTER C2 {
+        MAXALLOWEDVALUE = 1024;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+
+};
+
diff --git a/app/bcc1/alarm2/system.xml b/app/bcc1/alarm2/system.xml
deleted file mode 100644
index 218dd64c3c4ccecac0767dc831c72e37c6cb7af1..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm2/system.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>E1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>E2</identifier>
-    <period>2000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>E3</identifier>
-    <period>4000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>E1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>E2</event>
-    <subtask root="true">
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>E3</event>
-    <subtask root="true">
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/alarm3/CMakeLists.txt b/app/bcc1/alarm3/CMakeLists.txt
index 15b8011a3ca80cc04d2e5dd3df870297038cc9d2..277372cd0df1fb83bde2411bc602be428b2a71ad 100644
--- a/app/bcc1/alarm3/CMakeLists.txt
+++ b/app/bcc1/alarm3/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_alarm3a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm3b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm3c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_c.py
   LIBS libtest
   TEST_ISO
@@ -27,7 +27,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm3d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_d.py
   LIBS libtest
   TEST_ISO
@@ -36,7 +36,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_alarm3e
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_e.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/alarm3/osekossystem.xml b/app/bcc1/alarm3/osekossystem.xml
deleted file mode 100644
index 5886194cedf1395def603fd0f0f46567d382a375..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm3/osekossystem.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>TestSystem</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <TASK>
-        <name>H1</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H2</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>4</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H3</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>3</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H4</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>2</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H5</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>TRUE</AUTOSTART>
-    </TASK>
-
-    <ALARM>
-        <name>A1</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>TRUE</ARMED>
-        <CYCLETIME>100</CYCLETIME>
-        <RELTIME>100</RELTIME>
-        <ACTIVATETASK>
-            <TASK>H3</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-    <HARDWARECOUNTER>
-        <name>C1</name>
-        <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-        <TICKSPERBASE>1</TICKSPERBASE>
-        <MINCYCLE>1</MINCYCLE>
-    </HARDWARECOUNTER>
-</oseksystem>
diff --git a/app/bcc1/alarm3/system.oil b/app/bcc1/alarm3/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..9d292b7aacc6ab1f2fde9cf75440f52eb04e9de0
--- /dev/null
+++ b/app/bcc1/alarm3/system.oil
@@ -0,0 +1,66 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H3;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 100;
+            CYCLETIME = 100;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1024;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+
+};
+
diff --git a/app/bcc1/alarm3/system.xml b/app/bcc1/alarm3/system.xml
deleted file mode 100644
index c321f19678149470395eedc94097879bff335384..0000000000000000000000000000000000000000
--- a/app/bcc1/alarm3/system.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E2</event>
-        <subtask root="true">
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/complex1/CMakeLists.txt b/app/bcc1/complex1/CMakeLists.txt
index 6d8add57742146eaee4e1e4986c57012a5d99507..244d67d2c833fe4cfb7af72805a82a96b90c6c96 100644
--- a/app/bcc1/complex1/CMakeLists.txt
+++ b/app/bcc1/complex1/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_complex1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_complex1b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_complex1c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_c.py
   LIBS libtest
   TEST_ISO
@@ -27,7 +27,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_complex1d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   TEST_ISO
   d.cc
diff --git a/app/bcc1/complex1/osekossystem.xml b/app/bcc1/complex1/osekossystem.xml
deleted file mode 100644
index 35b6cbded925c53a6adc63e6da83a20acbbba6f6..0000000000000000000000000000000000000000
--- a/app/bcc1/complex1/osekossystem.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ISR>
-    <name>ISR1</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>5</DEVICE>
-  </ISR>
-
-  <ALARM>
-    <name>A1</name>
-    <COUNTER>C1</COUNTER>
-    <ARMED>TRUE</ARMED>
-    <CYCLETIME>100</CYCLETIME>
-    <RELTIME>1</RELTIME>
-
-    <ACTIVATETASK>
-      <TASK>H2</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>C1</name>
-    <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-</oseksystem>
diff --git a/app/bcc1/complex1/system.oil b/app/bcc1/complex1/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..f91912fd8b1bd2ed6bdb121848ea1ec156fa889d
--- /dev/null
+++ b/app/bcc1/complex1/system.oil
@@ -0,0 +1,59 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+	ISR ISR1 {
+		CATEGORY = 2;
+		DEVICE = 5;
+	};
+
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H2;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 1;
+            CYCLETIME = 100;
+        };
+    };
+
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+
+};
+
diff --git a/app/bcc1/complex1/system.xml b/app/bcc1/complex1/system.xml
deleted file mode 100644
index 6452ee5d1dbc218123541541f5011a519dd1bc22..0000000000000000000000000000000000000000
--- a/app/bcc1/complex1/system.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>ISR1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/complex2/CMakeLists.txt b/app/bcc1/complex2/CMakeLists.txt
index b7df38da3c81e0bd12cf1b8e336907f76b74aec3..67c9d5492e490c7ff357e9adf66205a1e73d47ee 100644
--- a/app/bcc1/complex2/CMakeLists.txt
+++ b/app/bcc1/complex2/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_complex2a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/complex2/osekossystem.xml b/app/bcc1/complex2/osekossystem.xml
deleted file mode 100644
index 03c05984df69cb58d721b75992f135291bdd4db6..0000000000000000000000000000000000000000
--- a/app/bcc1/complex2/osekossystem.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>NON</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H4</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>2</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H5</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>1</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-
-  <ISR>
-    <name>ISR1</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>37</DEVICE>
-  </ISR>
-
-</oseksystem>
diff --git a/app/bcc1/complex2/system.oil b/app/bcc1/complex2/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..d39e3f198efd9412b4ae4ca65a8ddb928a08cad7
--- /dev/null
+++ b/app/bcc1/complex2/system.oil
@@ -0,0 +1,53 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = NONE;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+	ISR ISR1 {
+		CATEGORY = 2;
+		DEVICE = 37;
+	};
+
+};
+
diff --git a/app/bcc1/complex2/system.xml b/app/bcc1/complex2/system.xml
deleted file mode 100644
index 6a485d25ad6c2d13eac0eb079d1c5a5d5b358081..0000000000000000000000000000000000000000
--- a/app/bcc1/complex2/system.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H4</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H5</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>ISR1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/depsvc/CMakeLists.txt b/app/bcc1/depsvc/CMakeLists.txt
index e1c77a04f43079cc5d2139e1be9e6f4fab21fda8..f2421458825f0ac6861e2610054dc59e8490a3df 100644
--- a/app/bcc1/depsvc/CMakeLists.txt
+++ b/app/bcc1/depsvc/CMakeLists.txt
@@ -2,7 +2,7 @@ if( (${DOSEK_ARCHITECTURE} STREQUAL "posix") OR (${DOSEK_ARCHITECTURE} STREQUAL
   DOSEK_BINARY (
     NAME bcc1_depsvc
     LIBS libdepsvc libtest
-    SYSTEM_DESC system.xml
+    SYSTEM_DESC system.oil
     TEST_ISO
     depsvc.cc
     )
diff --git a/app/bcc1/depsvc/osekossystem.xml b/app/bcc1/depsvc/osekossystem.xml
deleted file mode 100644
index 2ddd78e7d457a3f528974e217b59c2ee70daf0f1..0000000000000000000000000000000000000000
--- a/app/bcc1/depsvc/osekossystem.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>DependabilitySystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>TRUE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>CheckedTask</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ALARM>
-    <name>PeriodicActivation</name>
-    <COUNTER>PeriodicActivationCounter</COUNTER>
-    <ARMED>TRUE</ARMED>
-    <CYCLETIME>1000</CYCLETIME>
-    <RELTIME>100</RELTIME>
-    <ACTIVATETASK>
-      <TASK>CheckedTask</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>PeriodicActivationCounter</name>
-    <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-  <CHECKEDOBJECT>
-    <name>area</name>
-    <TYPEDEF>
-      <HEADER>app/bcc1/depsvc/type.h</HEADER>
-      <TYPENAME>chararray</TYPENAME>
-    </TYPEDEF>
-  </CHECKEDOBJECT>
-
-  <CHECKEDOBJECT>
-    <name>data</name>
-    <TYPEDEF>
-      <HEADER>app/bcc1/depsvc/type.h</HEADER>
-      <TYPENAME>complextype</TYPENAME>
-    </TYPEDEF>
-    <CUSTOMCHECKFUNCTION>datacheck</CUSTOMCHECKFUNCTION>
-  </CHECKEDOBJECT>
-
-</oseksystem>
-
diff --git a/app/bcc1/depsvc/system.oil b/app/bcc1/depsvc/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..3b1a2264fedf8da919f0638ac9187fb74be52ac5
--- /dev/null
+++ b/app/bcc1/depsvc/system.oil
@@ -0,0 +1,47 @@
+CPU TestSystem {
+
+    OS DependabilitySystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK CheckedTask {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    ALARM PeriodicActivation {
+        COUNTER = PeriodicActivationCounter;
+        ACTION = ACTIVATETASK {
+            TASK = CheckedTask;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 100;
+            CYCLETIME = 1000;
+        };
+    };
+
+    COUNTER PeriodicActivationCounter {
+        MAXALLOWEDVALUE = 1000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+    CHECKEDOBJECT area {
+       TYPEDEF = chararray;
+       HEADER = "app/bcc1/depsvc/type.h";
+    };
+
+    CHECKEDOBJECT data {
+       TYPEDEF = complextype;
+       HEADER = "app/bcc1/depsvc/type.h";
+       CHECKFUNCTION = datacheck;
+    };
+};
+
diff --git a/app/bcc1/depsvc/system.xml b/app/bcc1/depsvc/system.xml
deleted file mode 100644
index 4c584d8080abff20a72e6edd80278e988880c217..0000000000000000000000000000000000000000
--- a/app/bcc1/depsvc/system.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>DependabilitySystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>CheckedTask</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/hoffmann/CMakeLists.txt b/app/bcc1/hoffmann/CMakeLists.txt
index c68c03de5d78081df147423550e7b3754ff2b165..e3471f59ff29a7741311e62d33d12406a001513c 100644
--- a/app/bcc1/hoffmann/CMakeLists.txt
+++ b/app/bcc1/hoffmann/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME hoffmann_task1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   a.cc
 )
 
diff --git a/app/bcc1/hoffmann/osekossystem.xml b/app/bcc1/hoffmann/osekossystem.xml
deleted file mode 100644
index aa498b4dd65cd9e50c0df4863107c0e95305a15d..0000000000000000000000000000000000000000
--- a/app/bcc1/hoffmann/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/app/bcc1/hoffmann/system.oil b/app/bcc1/hoffmann/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..ce22b3a851411d0fbb9c51bd950ccd3645dfc89b
--- /dev/null
+++ b/app/bcc1/hoffmann/system.oil
@@ -0,0 +1,33 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Handler11 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Handler12 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Handler13 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+};
+
diff --git a/app/bcc1/hoffmann/system.xml b/app/bcc1/hoffmann/system.xml
deleted file mode 100644
index 41ca0c15b9d03cb20a4afccad38508d132c0e9ed..0000000000000000000000000000000000000000
--- a/app/bcc1/hoffmann/system.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/isr2/CMakeLists.txt b/app/bcc1/isr2/CMakeLists.txt
index 5e6ed593e48a5bd4eb581612ccf240142bf0249a..b4a4846a342a052caf902eeb6bbd42ef17752075 100644
--- a/app/bcc1/isr2/CMakeLists.txt
+++ b/app/bcc1/isr2/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_isr2a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_isr2b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_isr2c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_c.py
   LIBS libtest
   TEST_ISO
@@ -27,7 +27,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_isr2d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_d.py
   LIBS libtest
   TEST_ISO
@@ -36,7 +36,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_isr2e
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_e.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/isr2/osekossystem.xml b/app/bcc1/isr2/osekossystem.xml
deleted file mode 100644
index 58a0a1e75b907c698a8bf1697a164e1d98567f61..0000000000000000000000000000000000000000
--- a/app/bcc1/isr2/osekossystem.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ISR>
-    <name>ISR1</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>37</DEVICE>
-  </ISR>
-
-</oseksystem>
diff --git a/app/bcc1/isr2/system.xml b/app/bcc1/isr2/system.xml
deleted file mode 100644
index 6452ee5d1dbc218123541541f5011a519dd1bc22..0000000000000000000000000000000000000000
--- a/app/bcc1/isr2/system.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>ISR1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/lukas/CMakeLists.txt b/app/bcc1/lukas/CMakeLists.txt
index 3939ef7389c370f054e4a29da23960dbd318d862..24cf46124398888b43ba43cdd481caed134a4307 100644
--- a/app/bcc1/lukas/CMakeLists.txt
+++ b/app/bcc1/lukas/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_lukas_dispatch
-  SYSTEM_DESC dispatch.xml
+  SYSTEM_DESC dispatch.oil
   LIBS libtest
   TEST_ISO
   dispatch.cc
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_lukas_alarmstress
-  SYSTEM_DESC alarmstress.xml
+  SYSTEM_DESC alarmstress.oil
   LIBS libtest
   TEST_ISO
   alarmstress.cc
@@ -17,7 +17,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_lukas_isr2
-  SYSTEM_DESC isr2.xml
+  SYSTEM_DESC isr2.oil
   LIBS libtest
   TEST_ISO
   isr2.cc
diff --git a/app/bcc1/lukas/alarmstress.oil b/app/bcc1/lukas/alarmstress.oil
new file mode 100644
index 0000000000000000000000000000000000000000..8e1dd2f337fc72188febdb612b85ce915c40f385
--- /dev/null
+++ b/app/bcc1/lukas/alarmstress.oil
@@ -0,0 +1,57 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Task1 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Task2 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Task3 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Task4 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = Task4;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 10;
+            CYCLETIME = 1;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 50000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+};
+
diff --git a/app/bcc1/lukas/alarmstress.xml b/app/bcc1/lukas/alarmstress.xml
deleted file mode 100644
index dd8d8ea272201f6d7f6d0458c25381300a217867..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/alarmstress.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>E1</identifier>
-    <period>1</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Task1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task4</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>alarmstress_osek.xml</specificdescription>
-</system>
diff --git a/app/bcc1/lukas/alarmstress_osek.xml b/app/bcc1/lukas/alarmstress_osek.xml
deleted file mode 100644
index a3c08d453386d636ce1e8f133835c7c03fc4a641..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/alarmstress_osek.xml
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Task1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>2</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>1</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task4</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ALARM>
-    <name>A1</name>
-    <COUNTER>C1</COUNTER>
-    <ARMED>TRUE</ARMED>
-    <CYCLETIME>1</CYCLETIME>
-    <RELTIME>10</RELTIME>
-    <ACTIVATETASK>
-      <TASK>Task4</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>C1</name>
-    <MAXALLOWEDVALUE>50000</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-
-</oseksystem>
diff --git a/app/bcc1/lukas/dispatch.oil b/app/bcc1/lukas/dispatch.oil
new file mode 100644
index 0000000000000000000000000000000000000000..03060a1d3118a671fe33485d67c235a8fb3f5d8d
--- /dev/null
+++ b/app/bcc1/lukas/dispatch.oil
@@ -0,0 +1,41 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Task1 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Task2 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Task3 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Task4 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+};
+
diff --git a/app/bcc1/lukas/dispatch.xml b/app/bcc1/lukas/dispatch.xml
deleted file mode 100644
index 458e46af7aded06690dc7bdecfdc741bfd4f71cf..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/dispatch.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Task1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task4</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>dispatch_osek.xml</specificdescription>
-</system>
diff --git a/app/bcc1/lukas/dispatch_osek.xml b/app/bcc1/lukas/dispatch_osek.xml
deleted file mode 100644
index 0722c3f3a66a925e1f1147c8f8cba2fd055e1b2c..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/dispatch_osek.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Task1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>2</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>1</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task4</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-
-</oseksystem>
diff --git a/app/bcc1/lukas/isr2.oil b/app/bcc1/lukas/isr2.oil
new file mode 100644
index 0000000000000000000000000000000000000000..f670a98f9f7b499d67a46de1a29cd4a7e0a1755b
--- /dev/null
+++ b/app/bcc1/lukas/isr2.oil
@@ -0,0 +1,47 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Task1 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Task2 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    ISR ISR37 {
+        CATEGORY = 2;
+        DEVICE = 37;
+    };
+
+    ISR ISR38 {
+        CATEGORY = 2;
+        DEVICE = 38;
+    };
+
+    ISR ISR39 {
+        CATEGORY = 2;
+        DEVICE = 39;
+    };
+
+    ISR ISR40 {
+        CATEGORY = 2;
+        DEVICE = 40;
+    };
+
+};
+
diff --git a/app/bcc1/lukas/isr2.xml b/app/bcc1/lukas/isr2.xml
deleted file mode 100644
index 405e817a4d6ce05c5df8f3a8e4d33d7c36990b13..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/isr2.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>10</interarrivaltime>
-  </nonperiodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ2</identifier>
-    <interarrivaltime>10</interarrivaltime>
-  </nonperiodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ3</identifier>
-    <interarrivaltime>10</interarrivaltime>
-  </nonperiodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ4</identifier>
-    <interarrivaltime>10</interarrivaltime>
-  </nonperiodicevent>
-
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Task1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Task2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>ISR37</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ2</event>
-    <subtask root="true">
-      <handler>ISR38</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ3</event>
-    <subtask root="true">
-      <handler>ISR39</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-
-  <task>
-    <event>IRQ4</event>
-    <subtask root="true">
-      <handler>ISR40</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-
-  <specificdescription>isr2_osek.xml</specificdescription>
-</system>
diff --git a/app/bcc1/lukas/isr2_osek.xml b/app/bcc1/lukas/isr2_osek.xml
deleted file mode 100644
index a730090ca297d41639c32593b82c7d400ac11c11..0000000000000000000000000000000000000000
--- a/app/bcc1/lukas/isr2_osek.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Task1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>2</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Task2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ISR>
-    <name>ISR37</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>37</DEVICE>
-  </ISR>
-
-  <ISR>
-    <name>ISR38</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>38</DEVICE>
-  </ISR>
-
-  <ISR>
-    <name>ISR39</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>39</DEVICE>
-  </ISR>
-
-  <ISR>
-    <name>ISR40</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>40</DEVICE>
-  </ISR>
-
-
-
-</oseksystem>
diff --git a/app/bcc1/resource1/CMakeLists.txt b/app/bcc1/resource1/CMakeLists.txt
index 889794b76b7c000c17ac0db0047128204b6f6ec1..702f9fa4c0b7ffd15da573ec42bc317db50cb36a 100644
--- a/app/bcc1/resource1/CMakeLists.txt
+++ b/app/bcc1/resource1/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_resource1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_a.py
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_b.py
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_a.py # Same constraints as A
   TEST_ISO
@@ -27,7 +27,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_d.py
   TEST_ISO
@@ -36,7 +36,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1e
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_e.py
   TEST_ISO
@@ -45,7 +45,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1f
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_f.py
   TEST_ISO
@@ -55,7 +55,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1g
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_g.py
   TEST_ISO
@@ -64,7 +64,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1h
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_h.py
   TEST_ISO
@@ -73,7 +73,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1j
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   #VERIFY verify_j.py
   TEST_ISO
@@ -82,7 +82,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource1k
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_k.py
   TEST_ISO
diff --git a/app/bcc1/resource1/osekossystem.xml b/app/bcc1/resource1/osekossystem.xml
deleted file mode 100644
index 64d39d3e588ba416979ca8920873670526221e95..0000000000000000000000000000000000000000
--- a/app/bcc1/resource1/osekossystem.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>TestSystem</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <TASK>
-        <name>H1</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H2</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>4</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H3</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>3</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H4</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>2</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H5</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>TRUE</AUTOSTART>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <RESOURCE>
-        <name>RES_SCHEDULER</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R234</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R345</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-
-</oseksystem>
diff --git a/app/bcc1/resource1/system.xml b/app/bcc1/resource1/system.xml
deleted file mode 100644
index c321f19678149470395eedc94097879bff335384..0000000000000000000000000000000000000000
--- a/app/bcc1/resource1/system.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E2</event>
-        <subtask root="true">
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/resource2/CMakeLists.txt b/app/bcc1/resource2/CMakeLists.txt
index 5886013de8f779eedf65b9ebfea9f93a46bf1960..22f3b29ea4be96492d24cfce24a034e6392de08f 100644
--- a/app/bcc1/resource2/CMakeLists.txt
+++ b/app/bcc1/resource2/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_resource2a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_resource2b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/resource2/osekossystem.xml b/app/bcc1/resource2/osekossystem.xml
deleted file mode 100644
index 3d297d7abe5a9ac05ef0ff1a6c9d8b4140363296..0000000000000000000000000000000000000000
--- a/app/bcc1/resource2/osekossystem.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>TestSystem</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <TASK>
-        <name>H1</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H2</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>4</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H3</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>3</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H4</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>2</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H5</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>TRUE</AUTOSTART>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <RESOURCE>
-        <name>RES_SCHEDULER</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R234</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R345</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <ALARM>
-        <name>A1</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>TRUE</ARMED>
-        <CYCLETIME>100</CYCLETIME>
-        <RELTIME>1000</RELTIME>
-
-        <ACTIVATETASK>
-            <TASK>H3</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-    <HARDWARECOUNTER>
-        <name>C1</name>
-        <MAXALLOWEDVALUE>50000</MAXALLOWEDVALUE>
-        <TICKSPERBASE>1</TICKSPERBASE>
-        <MINCYCLE>1</MINCYCLE>
-    </HARDWARECOUNTER>
-
-</oseksystem>
diff --git a/app/bcc1/resource2/system.oil b/app/bcc1/resource2/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..830f16a551f429132e680ef42d5885f3469acfef
--- /dev/null
+++ b/app/bcc1/resource2/system.oil
@@ -0,0 +1,84 @@
+
+CPU TestSystem {
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+        USERESSCHEDULER = TRUE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+        RESOURCE = R345;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+        RESOURCE = R345;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE {
+            APPMODE = OSDEFAULTAPPMODE;
+        };
+        RESOURCE = R345;
+    };
+
+    APPMODE OSDEFAULAPPMODE;
+
+    RESOURCE R234 {
+        RESOURCEPROPERTY = STANDARD;
+    };
+
+    RESOURCE R345 {
+        RESOURCEPROPERTY = STANDARD;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H3;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 100;
+            CYCLETIME = 1000;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 50000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+
+};
diff --git a/app/bcc1/resource2/system.xml b/app/bcc1/resource2/system.xml
deleted file mode 100644
index c321f19678149470395eedc94097879bff335384..0000000000000000000000000000000000000000
--- a/app/bcc1/resource2/system.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E2</event>
-        <subtask root="true">
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/sse1/CMakeLists.txt b/app/bcc1/sse1/CMakeLists.txt
index 81d67647e45f70c8e57d45440c43424df035e644..ae8cfb56889d4aa4574ad01f858f94d646ebaeec 100644
--- a/app/bcc1/sse1/CMakeLists.txt
+++ b/app/bcc1/sse1/CMakeLists.txt
@@ -2,7 +2,7 @@
 
 DOSEK_BINARY(
   NAME bcc1_sse1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_a.py
   TEST_ISO
@@ -11,7 +11,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_sse1b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_b.py
   TEST_ISO
@@ -21,7 +21,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_sse1c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   LIBS libtest
   VERIFY verify_c.py
   TEST_ISO
diff --git a/app/bcc1/sse1/osekossystem.xml b/app/bcc1/sse1/osekossystem.xml
deleted file mode 100644
index 64d39d3e588ba416979ca8920873670526221e95..0000000000000000000000000000000000000000
--- a/app/bcc1/sse1/osekossystem.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>TestSystem</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <TASK>
-        <name>H1</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H2</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>4</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H3</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>3</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H4</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>2</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>R234</RESOURCE>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>H5</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>TRUE</AUTOSTART>
-        <RESOURCE>R345</RESOURCE>
-    </TASK>
-
-    <RESOURCE>
-        <name>RES_SCHEDULER</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R234</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <RESOURCE>
-        <name>R345</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-
-</oseksystem>
diff --git a/app/bcc1/sse1/system.oil b/app/bcc1/sse1/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..b2fda36b6e760b08bb0b8750e4499075487d7b3f
--- /dev/null
+++ b/app/bcc1/sse1/system.oil
@@ -0,0 +1,67 @@
+
+CPU TestSystem {
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+        USERESSCHEDULER = TRUE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+        RESOURCE = R345;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = R234;
+        RESOURCE = R345;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE {
+            APPMODE = OSDEFAULTAPPMODE;
+        };
+        RESOURCE = R345;
+    };
+
+    APPMODE OSDEFAULTAPPMODE;
+
+    RESOURCE R234 {
+        RESOURCEPROPERTY = STANDARD;
+    };
+
+    RESOURCE R345 {
+        RESOURCEPROPERTY = STANDARD;
+    };
+
+
+};
diff --git a/app/bcc1/sse1/system.xml b/app/bcc1/sse1/system.xml
deleted file mode 100644
index c321f19678149470395eedc94097879bff335384..0000000000000000000000000000000000000000
--- a/app/bcc1/sse1/system.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E2</event>
-        <subtask root="true">
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/sse1/verify_a.py b/app/bcc1/sse1/verify_a.py
index 57b3db31eb17125dcf76b45e1babb4031cf5a1a0..bbf7c47dd2bf8d8a01ec2b8b5c0d3b9ecad9ef38 100644
--- a/app/bcc1/sse1/verify_a.py
+++ b/app/bcc1/sse1/verify_a.py
@@ -31,7 +31,7 @@ def after_SystemStateFlow(analysis):
 
     t.promise_all_syscalls_checked()
 
-def after_Combine_RunningTask_SSE(analysis):
+def after_ConstructGlobalCFG(analysis):
     # Find all three systemcall handlers
     (H1, H2, H3, H4, H5, Idle, StartOS) = \
        get_functions(analysis.system_graph, ["H1", "H2", "H3", "H4", "H5", 
diff --git a/app/bcc1/task1/CMakeLists.txt b/app/bcc1/task1/CMakeLists.txt
index 6259f5acc56de1e103c3d266ad9585b33ee3ef68..63696c00e9c2025d73df3ac7c62894799b59acd5 100644
--- a/app/bcc1/task1/CMakeLists.txt
+++ b/app/bcc1/task1/CMakeLists.txt
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1a_sse
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   GENERATOR_ARGS -fgen-asserts -fsse
@@ -19,7 +19,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -28,7 +28,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_c.py
   LIBS libtest
   TEST_ISO
@@ -37,7 +37,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_d.py
   LIBS libtest
   TEST_ISO
@@ -46,7 +46,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1e
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_e.py
   LIBS libtest
   TEST_ISO
@@ -55,7 +55,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1f
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_f.py
   LIBS libtest
   TEST_ISO
@@ -64,7 +64,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task1g
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_g.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/task1/osekossystem.xml b/app/bcc1/task1/osekossystem.xml
deleted file mode 100644
index aa498b4dd65cd9e50c0df4863107c0e95305a15d..0000000000000000000000000000000000000000
--- a/app/bcc1/task1/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/app/bcc1/task1/system.xml b/app/bcc1/task1/system.xml
deleted file mode 100644
index 41ca0c15b9d03cb20a4afccad38508d132c0e9ed..0000000000000000000000000000000000000000
--- a/app/bcc1/task1/system.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/bcc1/task2/CMakeLists.txt b/app/bcc1/task2/CMakeLists.txt
index 9350f597a31a27b564d4a8a3692df47e65002e35..f6ee91877cc44049b377a42f84fa0d5ca26b33d1 100644
--- a/app/bcc1/task2/CMakeLists.txt
+++ b/app/bcc1/task2/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bcc1_task2a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task2b
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_b.py
   LIBS libtest
   TEST_ISO
@@ -18,7 +18,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME bcc1_task2c
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
diff --git a/app/bcc1/task2/osekossystem.xml b/app/bcc1/task2/osekossystem.xml
deleted file mode 100644
index 1bac559e03f96cecfcb850efb7e3d51045670f6c..0000000000000000000000000000000000000000
--- a/app/bcc1/task2/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>NON</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/app/bcc1/task2/system.oil b/app/bcc1/task2/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..4bbfcb22666e2dcef95884f8ed887dc9574ec71a
--- /dev/null
+++ b/app/bcc1/task2/system.oil
@@ -0,0 +1,35 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Handler11 {
+        SCHEDULE = NON;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Handler12 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Handler13 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+
+};
+
diff --git a/app/bcc1/task2/system.xml b/app/bcc1/task2/system.xml
deleted file mode 100644
index 41ca0c15b9d03cb20a4afccad38508d132c0e9ed..0000000000000000000000000000000000000000
--- a/app/bcc1/task2/system.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/benchmark/CMakeLists.txt b/app/benchmark/CMakeLists.txt
index acf20988f531f04692b5fe917414f30b24db24da..592ec65359ae24ffc8a1a51673c50420ef5e2942 100644
--- a/app/benchmark/CMakeLists.txt
+++ b/app/benchmark/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bench-task1a
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   FAIL
   a.cc
 )
diff --git a/app/benchmark/complex1/CMakeLists.txt b/app/benchmark/complex1/CMakeLists.txt
index 832e37cbe2b169f6d692ae8389abe2a7bc92d1bb..ba1af3c069cf36e12c5a3acd75086fc6309c8432 100644
--- a/app/benchmark/complex1/CMakeLists.txt
+++ b/app/benchmark/complex1/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bench-complex1d
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   FAIL
   d.cc
 )
diff --git a/app/benchmark/complex1/osekossystem.xml b/app/benchmark/complex1/osekossystem.xml
deleted file mode 100644
index 5f34addb471ea9b499a93770fd5414a24f8542d5..0000000000000000000000000000000000000000
--- a/app/benchmark/complex1/osekossystem.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>H1</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H2</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>H3</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <ISR>
-    <name>ISR1</name>
-    <CATEGORY>2</CATEGORY>
-    <PRIORITY>10</PRIORITY>
-    <DEVICE>37</DEVICE>
-  </ISR>
-
-  <ALARM>
-    <name>A1</name>
-    <COUNTER>C1</COUNTER>
-    <ARMED>TRUE</ARMED>
-    <CYCLETIME>5</CYCLETIME>
-    <RELTIME>1</RELTIME>
-
-    <ACTIVATETASK>
-      <TASK>H2</TASK>
-    </ACTIVATETASK>
-  </ALARM>
-
-  <HARDWARECOUNTER>
-    <name>C1</name>
-    <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-    <TICKSPERBASE>1</TICKSPERBASE>
-    <MINCYCLE>1</MINCYCLE>
-  </HARDWARECOUNTER>
-
-</oseksystem>
diff --git a/app/benchmark/complex1/system.oil b/app/benchmark/complex1/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..f91912fd8b1bd2ed6bdb121848ea1ec156fa889d
--- /dev/null
+++ b/app/benchmark/complex1/system.oil
@@ -0,0 +1,59 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+	ISR ISR1 {
+		CATEGORY = 2;
+		DEVICE = 5;
+	};
+
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H2;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 1;
+            CYCLETIME = 100;
+        };
+    };
+
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+
+};
+
diff --git a/app/benchmark/complex1/system.xml b/app/benchmark/complex1/system.xml
deleted file mode 100644
index 6452ee5d1dbc218123541541f5011a519dd1bc22..0000000000000000000000000000000000000000
--- a/app/benchmark/complex1/system.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>H1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H2</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>H3</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>ISR1</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/benchmark/coptermock/CMakeLists.txt b/app/benchmark/coptermock/CMakeLists.txt
index 8c4d92392c24ad70a25d7904f2d12865f4fae845..c6fb796c22245b305bf5c38ddc8cf0e2682d9795 100644
--- a/app/benchmark/coptermock/CMakeLists.txt
+++ b/app/benchmark/coptermock/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME bench-coptermock
-  SYSTEM_DESC system.xml
+  SYSTEM_DESC system.oil
   FAIL
   dosek.cc
 )
diff --git a/app/benchmark/coptermock/osekossystem.xml b/app/benchmark/coptermock/osekossystem.xml
deleted file mode 100644
index d42aa40b15de389c9ce730a247f765538b2482e2..0000000000000000000000000000000000000000
--- a/app/benchmark/coptermock/osekossystem.xml
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>CopterMock</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <!-- Signal Gather Tasks -->
-
-    <TASK>
-        <name>SignalGatherInitiateTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>24</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>SPIBus</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>SignalGatherFinishedTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>25</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>SPIBus</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>SignalGatherTimeoutTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>23</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-        <RESOURCE>SPIBus</RESOURCE>
-    </TASK>
-
-    <TASK>
-        <name>SignalProcessingActuateTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>22</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>SignalProcessingAttitudeTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>21</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <!-- Actuate Tasks -->
-    <TASK>
-        <name>FlightControlTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>NON</SCHEDULE> <!-- Non preemptable -->
-        <PRIORITY>11</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>FlightControlAttitudeTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>12</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>FlightControlActuateTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>13</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>MavlinkSendTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>10</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <!-- Watchdog Task -->
-    <TASK>
-        <name>CopterControlWatchdogTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>NON</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <!-- Remote Control Tasks -->
-    <TASK>
-        <name>CopterControlTask</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <ISR>
-        <name>MavlinkRecvHandler</name>
-        <CATEGORY>2</CATEGORY>
-        <PRIORITY>100</PRIORITY>
-        <DEVICE>37</DEVICE>
-    </ISR>
-
-    <RESOURCE>
-        <name>SPIBus</name>
-        <TYPE>STANDARD</TYPE>
-    </RESOURCE>
-
-    <ALARM>
-        <name>SignalGatherAlarm</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>TRUE</ARMED>
-        <CYCLETIME>30</CYCLETIME>
-        <RELTIME>10</RELTIME>
-
-        <ACTIVATETASK>
-            <TASK>SignalGatherInitiateTask</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-    <ALARM>
-        <name>FlightControlAlarm</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>TRUE</ARMED>
-        <CYCLETIME>90</CYCLETIME>
-        <RELTIME>13</RELTIME>
-
-        <ACTIVATETASK>
-            <TASK>FlightControlTask</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-    <ALARM>
-        <name>CopterControlWatchdogAlarm</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>FALSE</ARMED>
-        <CYCLETIME>0</CYCLETIME>
-        <RELTIME>0</RELTIME>
-
-        <ACTIVATETASK>
-            <TASK>CopterControlWatchdogTask</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-
-    <HARDWARECOUNTER>
-        <name>C1</name>
-        <MAXALLOWEDVALUE>50000</MAXALLOWEDVALUE>
-        <TICKSPERBASE>1</TICKSPERBASE>
-        <MINCYCLE>1</MINCYCLE>
-    </HARDWARECOUNTER>
-</oseksystem>
diff --git a/app/benchmark/coptermock/system-no-annotation.xml b/app/benchmark/coptermock/system-no-annotation.xml
deleted file mode 100644
index 990dc340b5d3e13accffd101b2196197ae19610b..0000000000000000000000000000000000000000
--- a/app/benchmark/coptermock/system-no-annotation.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>CopterMock</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>SignalGatherEvent</identifier>
-    <period>3</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>FlightControlEvent</identifier>
-    <period>9</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>MavlinkReceiveEvent</identifier>
-    <interarrivaltime>9000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task>
-    <event>SignalGatherEvent</event>
-
-    <subtask root="true">
-      <handler>SignalGatherInitiateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalGatherFinishedTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalGatherTimeoutTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalProcessingActuateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalProcessingAttitudeTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>FlightControlEvent</event>
-    <subtask root="true">
-      <handler>FlightControlTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>FlightControlAttitudeTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>FlightControlActuateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-        <handler>MavlinkSendTask</handler>
-        <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>MavlinkReceiveEvent</event>
-
-    <subtask root="true">
-      <handler>MavlinkRecvHandler</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>CopterControlTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>MavlinkReceiveEvent</event>
-
-    <subtask root="true">
-      <handler>CopterControlWatchdogTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/benchmark/coptermock/system.oil b/app/benchmark/coptermock/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..d7829c89f2cebd6bbf2a2add08c349421a58062a
--- /dev/null
+++ b/app/benchmark/coptermock/system.oil
@@ -0,0 +1,167 @@
+CPU CopterMock {
+
+    OS Coptermock {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+	TASKGROUP SignalGatherGroup {
+		PROMISE = SERIALIZED;
+	};
+
+    TASK SignalGatherInitiateTask {
+        SCHEDULE = FULL;
+        PRIORITY = 24;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = SPIBus;
+		TASKGROUP = SignalGatherGroup;
+    };
+
+    TASK SignalGatherFinishedTask {
+        SCHEDULE = FULL;
+        PRIORITY = 25;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = SPIBus;
+		TASKGROUP = SignalGatherGroup;
+    };
+
+    TASK SignalGatherTimeoutTask {
+        SCHEDULE = FULL;
+        PRIORITY = 23;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        RESOURCE = SPIBus;
+		TASKGROUP = SignalGatherGroup;
+    };
+
+    TASK SignalProcessingActuateTask {
+        SCHEDULE = FULL;
+        PRIORITY = 22;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = SignalGatherGroup;
+    };
+
+    TASK SignalProcessingAttitudeTask {
+        SCHEDULE = FULL;
+        PRIORITY = 21;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = SignalGatherGroup;
+    };
+
+    /* Actuate Tasks */
+	TASKGROUP FlightControlGroup {
+		PROMISE = SERIALIZED;
+	};
+
+    TASK FlightControlTask {
+        SCHEDULE = NON;
+        PRIORITY = 11;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = FlightControlGroup;
+    };
+
+    TASK FlightControlAttitudeTask {
+        SCHEDULE = FULL;
+        PRIORITY = 12;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = FlightControlGroup;
+    };
+
+    TASK FlightControlActuateTask {
+        SCHEDULE = FULL;
+        PRIORITY = 13;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = FlightControlGroup;
+    };
+
+    TASK MavlinkSendTask {
+        SCHEDULE = FULL;
+        PRIORITY = 10;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = FlightControlGroup;
+    };
+
+    /* Watchdog Task */
+	TASKGROUP WatchdogGroup {
+		PROMISE = SERIALIZED;
+	};
+    TASK CopterControlWatchdogTask {
+        SCHEDULE = NON;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = WatchdogGroup;
+    };
+
+    /* Remote Control Task */
+	TASKGROUP MavlinkReceiveGroup {
+		PROMISE = SERIALIZED;
+	};
+
+    TASK CopterControlTask {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+		TASKGROUP = MavlinkReceiveGroup;
+    };
+    ISR MavlinkRecvHandler {
+        CATEGORY = 2;
+        PRIORITY = 100;
+        DEVICE = 37;
+		TASKGROUP = MavlinkReceiveGroup;
+    };
+
+    RESOURCE SPIBus {
+        RESOURCEPROPERTY = STANDARD;
+    };
+
+    ALARM SignalGatherAlarm {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = SignalGatherInitiateTask;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 10;
+            CYCLETIME = 30;
+        };
+    };
+
+    ALARM FlightControlAlarm {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = FlightControlTask;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 10;
+            CYCLETIME = 90;
+        };
+    };
+
+    ALARM CopterControlWatchdogAlarm {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = CopterControlWatchdogTask;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 50000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+};
+
diff --git a/app/benchmark/coptermock/system.xml b/app/benchmark/coptermock/system.xml
deleted file mode 100644
index 5d0728deb8fdf85e2043c14c81257232315b35b3..0000000000000000000000000000000000000000
--- a/app/benchmark/coptermock/system.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>CopterMock</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>SignalGatherEvent</identifier>
-    <period>3</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <periodicevent>
-    <identifier>FlightControlEvent</identifier>
-    <period>9</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>MavlinkReceiveEvent</identifier>
-    <interarrivaltime>9000</interarrivaltime>
-  </nonperiodicevent>
-
-  <task promise-serialized="true">
-    <event>SignalGatherEvent</event>
-
-    <subtask root="true">
-      <handler>SignalGatherInitiateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalGatherFinishedTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalGatherTimeoutTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalProcessingActuateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>SignalProcessingAttitudeTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task promise-serialized="true">
-    <event>FlightControlEvent</event>
-    <subtask root="true">
-      <handler>FlightControlTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>FlightControlAttitudeTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>FlightControlActuateTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-        <handler>MavlinkSendTask</handler>
-        <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task promise-serialized="true">
-    <event>MavlinkReceiveEvent</event>
-
-    <subtask root="true">
-      <handler>MavlinkRecvHandler</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-
-    <subtask>
-      <handler>CopterControlTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-  <task promise-serialized="true">
-    <event>MavlinkReceiveEvent</event>
-
-    <subtask root="true">
-      <handler>CopterControlWatchdogTask</handler>
-      <deadline> <relative>true</relative> <type>hard</type> <deadline>200</deadline> </deadline>
-    </subtask>
-  </task>
-
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/benchmark/osekossystem.xml b/app/benchmark/osekossystem.xml
deleted file mode 100644
index aa498b4dd65cd9e50c0df4863107c0e95305a15d..0000000000000000000000000000000000000000
--- a/app/benchmark/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/app/benchmark/system.oil b/app/benchmark/system.oil
new file mode 100644
index 0000000000000000000000000000000000000000..762091f4bcfab812999901ae2af27602fd06e4a6
--- /dev/null
+++ b/app/benchmark/system.oil
@@ -0,0 +1,35 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK Handler11 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+
+    TASK Handler12 {
+        SCHEDULE = FULL;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK Handler13 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+
+};
+
diff --git a/app/benchmark/system.xml b/app/benchmark/system.xml
deleted file mode 100644
index 41ca0c15b9d03cb20a4afccad38508d132c0e9ed..0000000000000000000000000000000000000000
--- a/app/benchmark/system.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/benchmark/zedboard/osekossystem.xml b/app/benchmark/zedboard/osekossystem.xml
deleted file mode 100644
index aa498b4dd65cd9e50c0df4863107c0e95305a15d..0000000000000000000000000000000000000000
--- a/app/benchmark/zedboard/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>3</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>FALSE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/app/benchmark/zedboard/system.xml b/app/benchmark/zedboard/system.xml
deleted file mode 100644
index 74a545c7acf62783df49378290a72a891de5e3f9..0000000000000000000000000000000000000000
--- a/app/benchmark/zedboard/system.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ1</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-  <nonperiodicevent>
-    <identifier>IRQ2</identifier>
-    <interarrivaltime>2000</interarrivaltime>
-  </nonperiodicevent>
-
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ1</event>
-    <subtask root="true">
-      <handler>isrA</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <task>
-    <event>IRQ2</event>
-    <subtask root="true">
-      <handler>isrB</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>2000</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/sysmodel/1alarm/CMakeLists.txt b/app/sysmodel/1alarm/CMakeLists.txt
index bb1ca7d5bf383de34f5e864f00304db7c1b093c5..7feb035d0a96ca4630e40204ea12298370461c6a 100644
--- a/app/sysmodel/1alarm/CMakeLists.txt
+++ b/app/sysmodel/1alarm/CMakeLists.txt
@@ -1,6 +1,6 @@
 DOSEK_BINARY(
   NAME sysmodel_1alarm_a
-  SYSTEM_DESC a.xml
+  SYSTEM_DESC a.oil
   VERIFY verify_a.py
   LIBS libtest
   TEST_ISO
@@ -9,7 +9,7 @@ DOSEK_BINARY(
 
 DOSEK_BINARY(
   NAME sysmodel_1alarm_aa
-  SYSTEM_DESC aa.xml # OTHER XML!
+  SYSTEM_DESC aa.oil # OTHER XML!
   VERIFY verify_aa.py
   LIBS libtest
   TEST_ISO
diff --git a/app/sysmodel/1alarm/a.oil b/app/sysmodel/1alarm/a.oil
new file mode 100644
index 0000000000000000000000000000000000000000..491a0412d30b55068dd5fd4f901f4e441cefe545
--- /dev/null
+++ b/app/sysmodel/1alarm/a.oil
@@ -0,0 +1,65 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H3 {
+        SCHEDULE = NONE;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H3;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 100;
+            CYCLETIME = 100;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+};
+
diff --git a/app/sysmodel/1alarm/a.xml b/app/sysmodel/1alarm/a.xml
deleted file mode 100644
index e9625827cd55c554f0c1f5819a60a971d6b7b8ef..0000000000000000000000000000000000000000
--- a/app/sysmodel/1alarm/a.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E2</event>
-        <subtask root="true">
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task promise-serialized="true">
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/sysmodel/1alarm/aa.oil b/app/sysmodel/1alarm/aa.oil
new file mode 100644
index 0000000000000000000000000000000000000000..545c7a654a7c0af3d7408df5c90bf47768963184
--- /dev/null
+++ b/app/sysmodel/1alarm/aa.oil
@@ -0,0 +1,71 @@
+CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK H1 {
+        SCHEDULE = FULL;
+        PRIORITY = 5;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASKGROUP H2H3 {
+       PROMISE = SERIALIZED;
+    };
+
+    TASK H2 {
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        TASKGROUP = H2H3;
+    };
+
+    TASK H3 {
+        SCHEDULE = NONE;
+        PRIORITY = 3;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+        TASKGROUP = H2H3;
+    };
+
+    TASK H4 {
+        SCHEDULE = FULL;
+        PRIORITY = 2;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    TASK H5 {
+        SCHEDULE = FULL;
+        PRIORITY = 1;
+        ACTIVATION = 1;
+        AUTOSTART = FALSE;
+    };
+
+    ALARM A1 {
+        COUNTER = C1;
+        ACTION = ACTIVATETASK {
+            TASK = H3;
+        };
+        AUTOSTART = TRUE {
+            ALARMTIME = 100;
+            CYCLETIME = 100;
+        };
+    };
+
+    COUNTER C1 {
+        MAXALLOWEDVALUE = 1000;
+        TICKSPERBASE = 1;
+        MINCYCLE = 1;
+    };
+
+};
+
diff --git a/app/sysmodel/1alarm/aa.xml b/app/sysmodel/1alarm/aa.xml
deleted file mode 100644
index 09ccd086d304b18c8c1a3f69088af978959e1497..0000000000000000000000000000000000000000
--- a/app/sysmodel/1alarm/aa.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <name>TestSystem</name>
-    <mappingtype>name</mappingtype>
-    <granule>ms</granule>
-    <resolution>1</resolution>
-    <systemtype>OSEKOS</systemtype>
-
-    <periodicevent>
-        <identifier>E1</identifier>
-        <period>1000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E2</identifier>
-        <period>2000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E3</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E4</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <periodicevent>
-        <identifier>E5</identifier>
-        <period>4000</period>
-        <phase>0</phase>
-        <jitter>0</jitter>
-    </periodicevent>
-
-    <task>
-        <event>E1</event>
-        <subtask root="true">
-            <handler>H1</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task promise-serialized="true">
-        <event>E3</event>
-        <subtask root="true">
-            <handler>H3</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-        <subtask >
-            <handler>H2</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E4</event>
-        <subtask root="true">
-            <handler>H4</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <task>
-        <event>E5</event>
-        <subtask root="true">
-            <handler>H5</handler>
-            <deadline>
-                <relative>true</relative>
-                <type>hard</type>
-                <deadline>200</deadline>
-            </deadline>
-        </subtask>
-    </task>
-
-    <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/app/sysmodel/1alarm/osekossystem.xml b/app/sysmodel/1alarm/osekossystem.xml
deleted file mode 100644
index f4cfd8f0d3001513d91cd58727c5283ae445b4f2..0000000000000000000000000000000000000000
--- a/app/sysmodel/1alarm/osekossystem.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-    <OS>
-        <name>TestSystem</name>
-        <STATUS>STANDARD</STATUS>
-        <ERRORHOOK>FALSE</ERRORHOOK>
-        <STARTUPHOOK>FALSE</STARTUPHOOK>
-        <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-        <PRETASKHOOK>FALSE</PRETASKHOOK>
-        <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-    </OS>
-
-    <TASK>
-        <name>H1</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>5</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H2</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>4</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H3</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>3</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H4</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>2</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <TASK>
-        <name>H5</name>
-        <TYPE>BASIC</TYPE>
-        <SCHEDULE>FULL</SCHEDULE>
-        <PRIORITY>1</PRIORITY>
-        <ACTIVATION>1</ACTIVATION>
-        <AUTOSTART>FALSE</AUTOSTART>
-    </TASK>
-
-    <ALARM>
-        <name>A1</name>
-        <COUNTER>C1</COUNTER>
-        <ARMED>TRUE</ARMED>
-        <CYCLETIME>100</CYCLETIME>
-        <RELTIME>100</RELTIME>
-        <ACTIVATETASK>
-            <TASK>H3</TASK>
-        </ACTIVATETASK>
-    </ALARM>
-
-    <HARDWARECOUNTER>
-        <name>C1</name>
-        <MAXALLOWEDVALUE>1000</MAXALLOWEDVALUE>
-        <TICKSPERBASE>1</TICKSPERBASE>
-        <MINCYCLE>1</MINCYCLE>
-    </HARDWARECOUNTER>
-</oseksystem>
diff --git a/app/sysmodel/1alarm/verify_a.py b/app/sysmodel/1alarm/verify_a.py
index 2eda607e5ac74884c732547189719bd94632f91a..0b0ad4dba1d03624a41654a0ee8fb6ef53780564 100644
--- a/app/sysmodel/1alarm/verify_a.py
+++ b/app/sysmodel/1alarm/verify_a.py
@@ -12,17 +12,15 @@ def after_ConstructGlobalCFG(analysis):
     t.mark_syscalls_in_function(H4)
     t.mark_syscalls_in_function(H5)
 
-    assert len(t.self_loop_abbs(H3, E.system_level)) == 0
+    assert len(t.self_loop_abbs(H3, E.system_level)) == 1
     assert len(t.self_loop_abbs(H2, E.system_level)) == 1
 
-
-    t.activate([Idle, H2], # =>
+    t.activate([Idle, H2],  # =>
                H3)
 
-    t.reachability(H3, "ChainTask", [H2], # =>
+    t.reachability(H3, "ChainTask", [H2],  # =>
                    [H2])
-
-    t.reachability(H2, "TerminateTask", [], # =>
+    t.reachability(H2, "TerminateTask", [],  # =>
                    [H3, Idle])
 
     t.reachability(Idle, "Idle", [], # =>
diff --git a/dependability/benchmark/benchfile.py b/dependability/benchmark/benchfile.py
index c3ef476793a3867fd93a0c8c164ee5a5f857d416..e782f65e7ebf25d6864af6042dc9d74128eef525 100644
--- a/dependability/benchmark/benchfile.py
+++ b/dependability/benchmark/benchfile.py
@@ -13,21 +13,21 @@ class CheckedObject:
         CheckedObject.typenumber += 1
 
     def expand_declaration(self):
-        return "DeclareCheckedObject(benchtype" + str(self.typenumber) + ", %s);\n" % self.name
+        return "DeclareCheckedObject(benchtype" + str(self.typenumber) \
+            + ", %s);\n" % self.name
 
     def expand_typedef(self):
-        return "typedef char benchtype" + str(self.typenumber) + "[" + str(self.size) + "];\n"
+        return "typedef char benchtype" + str(self.typenumber) \
+            + "[" + str(self.size) + "];\n"
 
     def expand_xml(self):
-        return '''  <CHECKEDOBJECT>
-    <name>''' + self.name + '''</name>
-    <TYPEDEF>
-      <HEADER>app/bcc1/depbench/benchtype.h</HEADER>
-      <TYPENAME>benchtype''' + str(self.typenumber) + '''</TYPENAME>
-    </TYPEDEF>
-  </CHECKEDOBJECT>
+        return '''    CHECKEDOBJECT {name} {{
+        HEADER = "app/bcc1/depbench/benchtype.h";
+        TYPEDEF = benchtype{typenumber};
+    }};
+'''.format(name=self.name,
+             typenumber=self.typenumber)
 
-'''
 
 class BusyWaiting:
     """Manages a busy waiting loop"""
@@ -46,11 +46,12 @@ class BusyWaiting:
     }
 ''' % str(self.duration)
 
+
 class Acquiration:
     """Manages an acquiration of an checkedObject"""
 
     def __init__(self, checkedObject, duration):
-        self.checkedObject = checkedObject 
+        self.checkedObject = checkedObject
         self.loop = BusyWaiting(duration)
 
     def dur(self):
@@ -58,7 +59,9 @@ class Acquiration:
 
     def expand(self):
         name = self.checkedObject.name
-        return "    AcquireCheckedObject(" + name + ");" + self.loop.expand() + "    ReleaseCheckedObject(" + name + ");\n"
+        return "    AcquireCheckedObject(" + name + ");" + self.loop.expand() \
+            + "    ReleaseCheckedObject(" + name + ");\n"
+
 
 class Benchfile:
     """Manages elements of an application file of a benchmark"""
@@ -80,9 +83,9 @@ class Benchfile:
     def expand_file(self):
         content = '''
 #include "os.h"
-#include "depsvc.h"
+#include "dependability/depsvc.h"
 #include "arch/generic/hardware_threads.h"
-#include "dependability_service.h"
+#include "dependability/dependability_service.h"
 #include "output.h"
 #include "benchtype.h"
 
@@ -132,33 +135,29 @@ PreIdleHook() {
         return content
 
     def expand_osekossystem(self):
-        content = '''<?xml version="1.0"?>
-
-<oseksystem xmlns     = "http://www4.informatik.uni-erlangen.de/RTSC"
-            xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
-  <OS>
-    <name>BenchSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>TRUE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>BenchTask</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-'''
+        content = """CPU TestSystem {
+
+    OS TestSystem {
+        STATUS = STANDARD;
+        ERRORHOOK = FALSE;
+        STARTUPHOOK = FALSE;
+        SHUTDOWNHOOK = FALSE;
+        PRETASKHOOK = FALSE;
+        POSTTASKHOOK = FALSE;
+    };
+
+    TASK BenchTask {
+        TYPE = BASIC;
+        SCHEDULE = FULL;
+        PRIORITY = 4;
+        ACTIVATION = 1;
+        AUTOSTART = TRUE;
+    };
+"""
         for co in self.get_checkedObjects():
             content += co.expand_xml()
-        content += '''
-</oseksystem>'''
+
+        content += "\n};"
         return content
 
     def generate_bench_app(self):
@@ -173,50 +172,18 @@ PreIdleHook() {
         cmakelists.write('''DOSEK_BINARY (
   NAME bcc1_depbench
   depbench.cc
-  SYSTEM_XML system.xml
+  SYSTEM_DESC system.oil
   LIBS libdepsvc
 )''')
         cmakelists.close()
         depbench = open(approot + 'depbench.cc', 'w')
         depbench.write(self.expand_file())
         depbench.close()
-        systemxml = open(approot + 'system.xml', 'w')
-        systemxml.write('''<?xml version="1.0"?>
-
-<system xmlns     = "http://www4.informatik.uni-erlangen.de/RTSC"
-        xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>DependabilitySystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>BenchTask</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>''')
-        systemxml.close()
-        osekossystem = open(approot + 'osekossystem.xml', 'w')
+
+        osekossystem = open(approot + 'system.oil', 'w')
         osekossystem.write(self.expand_osekossystem())
         osekossystem.close()
+
         benchtype = open(approot + 'benchtype.h', 'w')
         benchtype.write(self.expand_type_header())
         benchtype.close()
diff --git a/dependability/benchmark/createresults.py b/dependability/benchmark/createresults.py
index 7ebfa077e7899dc5390197e82944e93c851abfd1..ed0b4d514b6e283c24dc37810fbf6b322e6ad858 100755
--- a/dependability/benchmark/createresults.py
+++ b/dependability/benchmark/createresults.py
@@ -31,9 +31,9 @@ if __name__ == "__main__":
     print("Prepare")
     pcall("clean build directory", ["rm -r *"], sh = True, mf = True)
     pcall("create dummy application", [depgenroot + "runbench.py", str(repetitions), str(slots), str(objects)], sout = f)
-    pcall("create new build environment", [depgenroot + "/../../new_build_env.py", "--dependability_failure_logging=yes"], sout = dn, serr = dn)
+    pcall("create new build environment", [depgenroot + "/../../new_build_env.py", "--dependability_failure_logging=yes"])
     for i in range(0, runs):
         print("Run " + str(i) + ":")
         pcall("create application", [depgenroot + "runbench.py", str(repetitions), str(slots), str(objects)], sout = f)
-        pcall("build", ["make", "-j1", "bcc1_depbench"], sout = dn, serr = dn)
+        pcall("build", ["make", "-j1", "bcc1_depbench"])
         pcall("run", ["qemu-system-i386", "-no-reboot", "-nographic", "-smp", "2", "-kernel", "bcc1_depbench"], sout = f)
diff --git a/generator/CMakeLists.txt b/generator/CMakeLists.txt
index 5afbc690d71f1615014c10933c411d74f1bd6e46..368d8b02f91a2efb3cd35abaa18182e4c5abd144 100644
--- a/generator/CMakeLists.txt
+++ b/generator/CMakeLists.txt
@@ -1,7 +1,5 @@
 
 set(PYTHON_MODULES_TEST
-  RTSCSystemDescription
-  RTSCAnalysis
 )
 
 foreach(module ${PYTHON_MODULES_TEST})
diff --git a/generator/Generator.py b/generator/Generator.py
index 6440b3d24b41c38056dda54d5532cc18e28db6b9..7aa076f1a168011fdbe9ce9692943358d17f7522 100644
--- a/generator/Generator.py
+++ b/generator/Generator.py
@@ -11,7 +11,6 @@ class Generator:
         self.name = name
         self.system_graph = system_graph
         self.stats = system_graph.stats
-        self.rtsc_analysis = system_graph.rtsc
         self.arch_rules = arch_rules
         self.os_rules = os_rules
         self.syscall_rules = syscall_rules
diff --git a/generator/OILSystemDescription.py b/generator/OILSystemDescription.py
index b9b0e57989f2d37f8b284b5a06a94d93ac835de9..31fa5d084019474abb4920d32eab27eb5e3a706c 100755
--- a/generator/OILSystemDescription.py
+++ b/generator/OILSystemDescription.py
@@ -3,8 +3,8 @@
    see: http://portal.osek-vdx.org/files/pdf/specs/oil25.pdf
 """
 from pyparsing import (Word, alphanums, alphas, hexnums,
-        nums, Optional, Keyword, QuotedString, Suppress,
-        Group, Forward, ZeroOrMore, cStyleComment, restOfLine)
+                       nums, Optional, Keyword, QuotedString, Suppress,
+                       Group, Forward, ZeroOrMore, cStyleComment, restOfLine)
 
 """ This is an example oil description:
 CPU Josek_x86 {
@@ -34,6 +34,7 @@ CPU Josek_x86 {
 };
 """
 
+
 class OILObject:
 
     def __init__(self, name=""):
@@ -47,12 +48,13 @@ class OILObject:
 
     def __str__(self):
         ret = self.__class__.__name__ + " : " + self.name
-        for k,v in vars(self).items():
+        for k, v in vars(self).items():
             if k.isupper():  # if it it a uppercase OIL Keyword
                 # lowercase members are special sets or lists
                 ret += "\n\t\t" + str(k) + ": " + str(v)
         return ret
 
+
 class AppMode(OILObject):
 
     def __init__(self, name=""):
@@ -82,12 +84,22 @@ class ISR(OILObject):
         self.resources = dict()
         self.messages = dict()
         self.DEVICE = None
+        self.TASKGROUP = None
 
     def get_device(self):
         assert self.DEVICE, "No device number set for ISR '" + self.name + "'"
         return self.DEVICE
 
-    device = property(get_device, None, None, "Returns the ISRs device number")
+    @property
+    def taskgroup(self):
+        if not self.TASKGROUP:
+            return self.name
+        else:
+            return self.TASKGROUP
+
+    @property
+    def device(self):
+        return self.get_device()
 
     def evaluate(self, oil):
         super(ISR, self).evaluate(oil)
@@ -95,7 +107,6 @@ class ISR(OILObject):
             if param[0] == "RESOURCE":
                 self.resources[param[1]] = param[1]
 
-
     def __str__(self):
         ret = super(ISR, self).__str__()
         if self.resources:
@@ -103,6 +114,27 @@ class ISR(OILObject):
         return ret
 
 
+class CheckedObject(OILObject):
+
+    def __init__(self, name=""):
+        super(CheckedObject, self).__init__(name)
+        self.TYPEDEF = ""
+        self.HEADER = None
+        self.CHECKFUNCTION = None
+
+    @property
+    def typename(self):
+        return self.TYPEDEF
+
+    @property
+    def header(self):
+        return self.HEADER
+
+    @property
+    def checkfunc(self):
+        return self.CHECKFUNCTION
+
+
 class Event(OILObject):
 
     def __init__(self, name=""):
@@ -120,13 +152,12 @@ class Counter(OILObject):
         self.SOFTCOUNTER = ""
 
 
-
 class Alarm(OILObject):
 
     class ActionParam:
         def __str__(self):
             ret = self.__class__.__name__
-            for k,v in vars(self).items():
+            for k, v in vars(self).items():
                 if k.isupper():
                     ret += "\n\t\t\t" + str(k) + ": " + str(v)
             return ret
@@ -154,8 +185,8 @@ class Alarm(OILObject):
         super(Alarm, self).__init__(name)
         self.COUNTER = ""
         self.ACTION = ""
-        self.action_params = ""
-        self.AUTOSTART = ""
+        self.action_params = None
+        self.AUTOSTART = False
         self.autostart_params = None
 
     def evaluate(self, oil):
@@ -163,26 +194,27 @@ class Alarm(OILObject):
         ''' read out alarm actions '''
         for param in oil[1]:
             if param[0] == "ACTION" and len(param) > 2:
-               if param[1] == "SETEVENT":
-                   self.action_params = self.SETEVENT()
-               elif param[1] == "ACTIVATETASK":
-                   self.action_params = self.ACTIVATETASK()
-               elif param[1] == "ALARMCALLBACK":
-                   self.action_params = self.ALARMCALLBACK()
-
-               for acp in param[2:]:
-                         if hasattr(self.action_params, acp[0]):
-                             setattr(self.action_params, acp[0], acp[1])
+                if param[1] == "SETEVENT":
+                    self.action_params = self.SETEVENT()
+                elif param[1] == "ACTIVATETASK":
+                    self.action_params = self.ACTIVATETASK()
+                elif param[1] == "ALARMCALLBACK":
+                    self.action_params = self.ALARMCALLBACK()
+
+                for acp in param[2:]:
+                    if hasattr(self.action_params, acp[0]):
+                        setattr(self.action_params, acp[0], acp[1])
+
             ''' read out autostart parameters '''
-            if param[0] == "AUTOSTART" and len(param) > 2 and param[1] == True:
-               self.autostart_params = self.AutostartParams()
-               for acp in param[2:]:
-                   if acp[0] == "ALARMTIME":
-                       self.autostart_params.ALARMTIME = int(acp[1])
-                   elif acp[0] == "CYCLETIME":
-                       self.autostart_params.CYCLETIME = int(acp[1])
-                   elif acp[0] == "APPMODE":
-                       self.autostart_params.APPMODE.add(acp[1])
+            if param[0] == "AUTOSTART" and len(param) > 2 and param[1] is True:
+                self.autostart_params = self.AutostartParams()
+                for acp in param[2:]:
+                    if acp[0] == "ALARMTIME":
+                        self.autostart_params.ALARMTIME = int(acp[1])
+                    elif acp[0] == "CYCLETIME":
+                        self.autostart_params.CYCLETIME = int(acp[1])
+                    elif acp[0] == "APPMODE":
+                        self.autostart_params.APPMODE.add(acp[1])
 
     @property
     def counter(self):
@@ -198,11 +230,15 @@ class Alarm(OILObject):
 
     @property
     def cycletime(self):
-        return self.autostart_params.CYCLETIME
+        if self.autostart_params:
+            return self.autostart_params.CYCLETIME
+        return 0
 
     @property
     def reltime(self):
-        return self.autostart_params.ALARMTIME
+        if self.autostart_params:
+            return self.autostart_params.ALARMTIME
+        return 0
 
     def activated_task(self):
         if self.action_params.TASK:
@@ -210,7 +246,6 @@ class Alarm(OILObject):
         else:
             return None
 
-
     def __str__(self):
         ret = super(Alarm, self).__str__()
         ret += "\n\t\tAction Params: " + str(self.action_params)
@@ -219,6 +254,21 @@ class Alarm(OILObject):
         return ret
 
 
+class TaskGroup(OILObject):
+
+    def __init__(self, name=""):
+        super(TaskGroup, self).__init__(name)
+        self.promises = dict()
+
+    def evaluate(self, oil):
+        super(TaskGroup, self).evaluate(oil)
+
+        ''' read out appmodes for autostart '''
+        for param in oil[1]:
+            if param[0] == "PROMISE":
+                self.promises[param[1].lower()] = True
+
+
 class Task(OILObject):
 
     def __init__(self, name=""):
@@ -228,6 +278,7 @@ class Task(OILObject):
         self.ACTIVATION = 0
         self.PRIORITY = 0
         self.SCHEDULE = "NON"
+        self.TASKGROUP = None
         self.resources = dict()
 
     def evaluate(self, oil):
@@ -243,6 +294,7 @@ class Task(OILObject):
                             self.autostart_appmodes[appmode[1]] = appmode[1]
             if param[0] == "RESOURCE":
                 self.resources[param[1]] = param[1];
+
     @property
     def is_autostarted(self):
         return self.AUTOSTART
@@ -263,6 +315,13 @@ class Task(OILObject):
     def priority(self):
         return self.PRIORITY
 
+    @property
+    def taskgroup(self):
+        if not self.TASKGROUP:
+            return self.name
+        else:
+            return self.TASKGROUP
+
     def __str__(self):
         ret = super(Task, self).__str__()
         if self.AUTOSTART:
@@ -298,6 +357,8 @@ class CPU:
         self.counters = dict()
         self.events = dict()
         self.isrs = dict()
+        self.checked_objects = dict()
+        self.task_groups = dict()
 
     def evaluate(self, oil):
         self.name = oil[1]
@@ -358,9 +419,12 @@ class CPU:
 
     def __str__(self):
         ret = "CPU " + self.name + "\n\t" + str(self.os)
-        for x in [obj.values() for obj in [self.tasks, self.appmodes, self.resources, self.counters, self.alarms, self.events, self.isrs]]:
-          for xi in x:
-            ret += "\n\t" + str(xi)
+        for x in [obj.values() for obj in
+                  [self.tasks, self.appmodes, self.resources,
+                   self.counters, self.alarms, self.events, self.isrs,
+                   self.checked_objects]]:
+            for xi in x:
+                ret += "\n\t" + str(xi)
 
         return ret
 
@@ -380,9 +444,10 @@ class OILSystemDescription:
     ob = Suppress("{")
     cb = Suppress("}")
 
-    oobject = Keyword("OS") ^ Keyword("TASK") ^ Keyword("COUNTER") ^ Keyword("ALARM") \
+    oobject = Keyword("OS") ^ Keyword("TASK") ^ Keyword("COUNTER") ^ Keyword("ALARM")  \
         ^ Keyword("RESOURCE") ^ Keyword("EVENT") ^ Keyword("ISR") ^ Keyword("MESSAGE") \
-        ^ Keyword("COM") ^ Keyword("NM") ^ Keyword("APPMODE") ^ Keyword("IPDU")
+        ^ Keyword("COM") ^ Keyword("NM") ^ Keyword("APPMODE") ^ Keyword("IPDU") \
+        ^ Keyword("CHECKEDOBJECT") ^ Keyword("TASKGROUP")
     object_name = Group(oobject + name)  # e.g., OS myOs, COUNTER mycounter
 
     attribute_name = name ^ oobject
@@ -423,6 +488,8 @@ class OILSystemDescription:
         alarms = dict()
         events = dict()
         isrs = dict()
+        checked_objects = dict()
+        groups = dict()
         #  Read out CPU
         for x in oil:
             if x[0] == "CPU":
@@ -448,15 +515,22 @@ class OILSystemDescription:
                 alarm = Alarm()
                 alarm.evaluate(x)
                 alarms[alarm.name] = alarm
-            elif x[0][0] == "EVENT" :
+            elif x[0][0] == "EVENT":
                 event = Event()
                 event.evaluate(x)
                 events[event.name] = event
-            elif x[0][0] == "ISR" :
+            elif x[0][0] == "ISR":
                 isr = ISR()
                 isr.evaluate(x)
                 isrs[isr.name] = isr
-
+            elif x[0][0] == "CHECKEDOBJECT":
+                obj = CheckedObject()
+                obj.evaluate(x)
+                checked_objects[obj.name] = obj
+            elif x[0][0] == "TASKGROUP":
+                group = TaskGroup()
+                group.evaluate(x)
+                groups[group.name] = group
 
         cpu.os = os
         cpu.tasks = tasks
@@ -466,11 +540,12 @@ class OILSystemDescription:
         cpu.alarms = alarms
         cpu.events = events
         cpu.isrs = isrs
+        cpu.checked_objects = checked_objects
+        cpu.task_groups = groups
 
         cpu.interconnect()
         return cpu
 
-
     def getOS(self):
         return self.refined.os
 
@@ -489,6 +564,12 @@ class OILSystemDescription:
     def getISRs(self):
         return self.refined.isrs.values()
 
+    def getCheckedObjects(self):
+        return self.refined.checked_objects.values()
+
+    def getTaskGroups(self):
+        return self.refined.task_groups.values()
+
 
     def __str__(self):
         return str(self.refined)
@@ -496,5 +577,3 @@ class OILSystemDescription:
 if __name__ == "__main__":
     oil = OILSystemDescription('test/example.oil')
     print(oil)
-
-
diff --git a/generator/RTSCAnalysis.py b/generator/RTSCAnalysis.py
deleted file mode 100644
index 02f6052b5a0866048448d42c3a5565be8e423904..0000000000000000000000000000000000000000
--- a/generator/RTSCAnalysis.py
+++ /dev/null
@@ -1,85 +0,0 @@
-from lxml import objectify
-
-from collections import namedtuple
-
-class RTSCAnalysis:
-    """The RTSCAnalysis class represents the results of the application
-analysis done by the RTSC. Informations are for example for every
-system call: Who called it? In which ABB?"""
-    def __init__(self, rtsc_xml):
-        self.rtsc_xml   = rtsc_xml
-        self.rtsc_dom   = objectify.parse(open(self.rtsc_xml)).getroot()
-
-    def syscalls(self):
-        """Return all system calls"""
-        syscalls = []
-        for x in self.rtsc_dom.systemcall:
-            args = []
-            for arg in x.xpath("*[local-name()='call_arguments']/*[local-name()='arg']"):
-                args += [str(arg)]
-            syscall = self.SystemCall(name = x.get("name"),
-                                      abb  = int(x.get("abb")),
-                                      arguments = args)
-            syscalls.append(syscall)
-        return syscalls
-
-    def find_syscall(self, abbid):
-        """Find a specific system call within an ABB"""
-        for syscall in self.syscalls():
-            if abbid == syscall.abb:
-                return syscall
-
-    SystemCall = namedtuple("SystemCall", ["name", "abb", "arguments"])
-
-    def get_abbs(self):
-        abbs = []
-        # Gather all ABB xml nodes under <abbgraph>
-        for abb_xml in self.rtsc_dom.xpath('//*[local-name()=\'abb\']'):
-            abb = self.ABB(id = int(abb_xml.get("name")),
-                           in_function=abb_xml.get("function"),
-                           func_entry = abb_xml.get("func_entry") == "true")
-            abbs.append(abb)
-        return abbs
-
-    def get_edges(self):
-        # Gather all ABB xml nodes under <abbgraph>
-        deps = []
-        for abb_xml in self.rtsc_dom.xpath('//*[local-name()=\'abb\']'):
-            for dep_xml in abb_xml.xpath('*[local-name()=\'dependency\']'):
-                dep = self.Dependency(source = int(abb_xml.get("name")),
-                                 target = int(dep_xml.get("target")))
-                deps.append(dep)
-        return deps
-
-    def get_calls(self, graph = None):
-        # Gather all ABB xml nodes under <abbgraph>
-        calls = []
-        for call_xml in self.rtsc_dom.xpath('*[local-name()=\'functioncall\']'):
-            call = self.Call(function = call_xml.get("name"),
-                             abb = int(call_xml.get("abb")))
-            calls.append(call)
-        return calls
-
-    ABB = namedtuple('ABB', ['id', 'in_function', 'func_entry'])
-    Dependency = namedtuple('Dependency', ['source', 'target'])
-    Call = namedtuple('Call', ['function', 'abb'])
-
-################################################################
-##
-## Testcases
-##
-################################################################
-import unittest
-
-class TestRTSCAnalysis(unittest.TestCase):
-    def setUp(self):
-        self.rtsc = RTSCAnalysis("test/rtsc_analyze.xml")
-    def test_osek_attributes(self):
-        syscall = self.rtsc.find_syscall(4)
-        self.assertEqual(syscall.name, "OSEKOS_ActivateTask")
-        self.assertEqual(syscall.abb, 4)
-        self.assertEqual(syscall.arguments[0], "OSEKOS_TASK_Struct_Handler13")
-
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/generator/RTSCSystemDescription.py b/generator/RTSCSystemDescription.py
deleted file mode 100644
index 5ade2145311613006325b014a8ac1c9fcb0dd030..0000000000000000000000000000000000000000
--- a/generator/RTSCSystemDescription.py
+++ /dev/null
@@ -1,238 +0,0 @@
-from lxml import objectify
-import os
-from collections import namedtuple
-
-
-class RTSCSystemDescription:
-    """The system description represents the system.xml, that describes
-    the elements within the application (tasks, alarms, etc...). 
-
-    WARNING: This is only a hacky frontend for the system.xml. Use the Systemgraph for real information."""
-    def __init__(self, system_xml):
-        self.system_xml = system_xml
-        self.system_dom = objectify.parse(open(self.system_xml)).getroot()
-
-        self.osek_xml   = os.path.join(os.path.dirname(system_xml), str(self.system_dom.specificdescription))
-        self.osek_dom   = objectify.parse(open(self.osek_xml)).getroot()
-
-    def getName(self):
-        return str(self.system_dom.name)
-
-    def isExtended(self):
-        return str(self.osek_dom.OS.STATUS) == "EXTENDED"
-
-    def getHooks(self):
-        hooks = {}
-        for name in ["error", "startup", "shutdown", "pretask", "posttask"]:
-            hooks[name] = self.osek_dom.OS[name.upper() + "HOOK"] == "TRUE"
-        return hooks
-
-    class Task:
-        def __init__(self, event_element, root_subtask_name, subtasks, promises):
-            self.event = event_element
-            self.root_subtask = str(root_subtask_name)
-            self.subtasks = subtasks
-            self.promises = promises
-
-    def getEvent(self, name):
-        for event in self.system_dom.periodicevent:
-            if event.identifier == name:
-                return (str(name), "periodic", int(event.period), int(event.phase), 
-                        int(event.jitter))
-
-        for event in self.system_dom.nonperiodicevent:
-            if event.identifier == name:
-                return (str(name), "nonperiodic", int(event.interarrivaltime))
-
-    def getTasks(self):
-        tasks = []
-        for task in self.system_dom.task:
-            event = self.getEvent(task.event)
-            assert event != None, "Every Task must be associated with an Event"
-            promises = {'serialized': False}
-            for attribute, value in task.items():
-                if attribute.startswith("promise-"):
-                    promise = attribute[len("promise-"):]
-                    assert promise in promises, "Unkown promise: %s" % attribute
-                    promises[promise] = (value == "true")
-            subtasks = {}
-            root_subtask = None
-            for subtask in task.subtask:
-                deadline = (str(subtask.deadline.type),
-                            int(subtask.deadline.relative),
-                            int(subtask.deadline.deadline))
-                subtasks[str(subtask.handler)] = deadline
-                if "root" in list(subtask.keys()):
-                    root_subtask = subtask.handler
-            tasks.append(self.Task(event, root_subtask, subtasks, promises))
-        return tasks
-
-    def isISR(self, name):
-        if hasattr(self.osek_dom, "ISR"):
-            for isr in self.osek_dom.ISR:
-                if isr.name == name:
-                    return True
-        return False
-
-    SubTask = namedtuple("Subtask", ["name", "is_basic", "static_priority", "max_activations",
-                                     "autostart", "preemptable"])
-    def getSubTasks(self):
-        subtasks = []
-        for xml in self.osek_dom.TASK:
-            subtasks.append(self.SubTask(
-                name = str(xml.name),
-                is_basic = str(xml.TYPE) == "BASIC",
-                preemptable = str(xml.SCHEDULE) == "FULL",
-                static_priority = int(str(xml.PRIORITY)),
-                max_activations = int(str(xml.ACTIVATION)),
-                autostart = str(xml.AUTOSTART) == "TRUE"))
-        return subtasks
-
-    def getSubTask(self, name):
-        for task in self.getSubTasks():
-            if task.name == name:
-                return task
-
-    Alarm = namedtuple("Alarm", ["name", "counter", "task", "event",
-                                 "armed", "cycletime", "reltime"])
-
-    def getAlarms(self):
-        alarms = []
-        if not hasattr(self.osek_dom, "ALARM"):
-            return []
-        for alarm in self.osek_dom.ALARM:
-            name = alarm.name
-            tasks = []
-            events = []
-            if hasattr(alarm, "ACTIVATETASK"):
-                for task in alarm.ACTIVATETASK:
-                    tasks.append(task.TASK)
-            if hasattr(alarm, "SETEVENT"):
-                for setevent in alarm.SETEVENT:
-                    tasks.append(setevent.TASK)
-                    events.append(setevent.EVENT)
-
-            armed = False
-            cycletime = 0
-            reltime = 0
-            if hasattr(alarm, "ARMED"):
-                armed = (str(alarm.ARMED) == "TRUE")
-            if hasattr(alarm, "CYCLETIME"):
-                cycletime = int(str(alarm.CYCLETIME))
-            if hasattr(alarm, "RELTIME"):
-                reltime = int(str(alarm.RELTIME))
-
-            # OSEK Spec 9.2 Only one task or one event is
-            # activated
-            assert len(tasks) == 1 or (len(tasks == 1 and len(events)) == 1)
-            if len(events) == 0:
-                events = [None]
-            alarms.append(self.Alarm(name = str(name),
-                                     counter = str(alarm.COUNTER),
-                                     task = tasks[0],
-                                     event = events[0],
-                                     armed = armed,
-                                     cycletime = cycletime,
-                                     reltime = reltime))
-        return alarms
-
-    Counter = namedtuple("Counter", ["name", "maxallowedvalue", "ticksperbase", "mincycle",
-                                     "softcounter"])
-
-    def getHardwareCounters(self):
-        counters = []
-        if not hasattr(self.osek_dom, "HARDWARECOUNTER"):
-            return []
-        for counter in self.osek_dom.HARDWARECOUNTER:
-            counters.append(self.Counter(name = counter.name,
-                                         maxallowedvalue = counter.MAXALLOWEDVALUE,
-                                         ticksperbase = counter.TICKSPERBASE,
-                                         mincycle = counter.MINCYCLE,
-                                         softcounter = False))
-        return counters
-
-
-    ISR = namedtuple("ISR", ["name", "category", "priority", "device"])
-
-    def getISR(self, name):
-        if not hasattr(self.osek_dom, "ISR"):
-            return
-        for isr in self.osek_dom.ISR:
-            if isr.name == name:
-                return self.ISR(name = isr.name,
-                                category = int(isr.CATEGORY),
-                                priority = int(isr.PRIORITY),
-                                device = int(isr.DEVICE),
-                            )
-
-    Resource = namedtuple("Resource", ["name", "tasks"])
-
-    def getResources(self):
-        resources = []
-        if not hasattr(self.osek_dom, "RESOURCE"):
-            return resources
-        for res in self.osek_dom.RESOURCE:
-            tasks = set([])
-            for task in self.osek_dom.TASK:
-                if res.name == "RES_SCHEDULER":
-                    tasks.add(task.name)
-                if not hasattr(task, "RESOURCE"):
-                    continue
-                for x in task.RESOURCE:
-                    if str(x) == res.name:
-                        tasks.add(task.name)
-            resources.append(self.Resource(name = res.name,
-                                           tasks = list(tasks)))
-        return resources
-
-    CheckedObject = namedtuple("CheckedObject", ["name", "header", "typename", "checkfunc"])
-
-    def getCheckedObjects(self):
-        checkedObjects = []
-        if not hasattr(self.osek_dom, "CHECKEDOBJECT"):
-            return checkedObjects
-        for co in self.osek_dom.CHECKEDOBJECT:
-            header = None
-            typename = None
-            checkfunc = None
-            assert co.name, "A CHECKEDOBJECT requires a name"
-            if hasattr(co, "TYPEDEF"):
-                if hasattr(co.TYPEDEF, "HEADER"):
-                    header = co.TYPEDEF.HEADER
-                if hasattr(co.TYPEDEF, "TYPENAME"):
-                    typename = co.TYPEDEF.TYPENAME
-            assert typename is not None, "A CheckedObject must have a type"
-            if hasattr(co, "CUSTOMCHECKFUNCTION"):
-                checkfunc = co.CUSTOMCHECKFUNCTION
-            checkedObjects.append(self.CheckedObject(co.name, header, typename, checkfunc))
-        return checkedObjects
-
-
-################################################################
-##
-## Testcases
-##
-################################################################
-import unittest
-
-class TestRTSCSystemDescription(unittest.TestCase):
-    def setUp(self):
-        self.desc = RTSCSystemDescription("test/system.xml")
-    def test_osek_attributes(self):
-        self.assertEqual(self.desc.getName(), "TestSystem")
-        self.assertFalse(self.desc.isExtended())
-        hooks = self.desc.getHooks()
-        self.assertTrue(len(hooks) == 5)
-        for i in hooks:
-            self.assertFalse(hooks[i])
-
-    def test_tasks(self):
-        tasks = dict([(x.name, x) for x in self.desc.getSubTasks()])
-        self.assertEqual(len(tasks), 3)
-
-        self.assertTrue(tasks["Handler12"].is_basic)
-        self.assertEqual(tasks["Handler13"].max_activations, 1)
-        self.assertEqual(tasks["Handler11"].static_priority, 5)
-
-if __name__ == "__main__":
-    unittest.main()
diff --git a/generator/annotate/cored_annotate.cc b/generator/annotate/cored_annotate.cc
deleted file mode 100644
index 134da301656793db723bab98b202652f3eb3a508..0000000000000000000000000000000000000000
--- a/generator/annotate/cored_annotate.cc
+++ /dev/null
@@ -1,157 +0,0 @@
-#include "os.h"
-#include "rtsc_annotate.h"
-#include "depsvc.h"
-
-extern "C" {
-
-void OSEKOS_kickoff(void) {
-	rtsc_systemcall();
-}
-
-StatusType OSEKOS_ActivateTask(TaskType t) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(t);
-}
-
-StatusType OSEKOS_ChainTask(TaskType t)  {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(t);
-}
-
-StatusType OSEKOS_TerminateTask()  {
-  rtsc_systemcall();
-}
-
-StatusType OSEKOS_Schedule()  {
-  rtsc_systemcall();
-}
-
-StatusType OSEKOS_GetResource(ResourceType r)  {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(r);
-}
-
-StatusType OSEKOS_ReleaseResource(ResourceType r) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(r);
-}
-
-StatusType OSEKOS_SetEvent(TaskType t,EventMaskType e) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(t);
-  rtsc_annotate_os_param((void*)e);
-}
-
-StatusType OSEKOS_GetEvent(TaskType t,EventMaskType e) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(t);
-  rtsc_annotate_os_param((void*)e);
-}
-
-StatusType OSEKOS_ClearEvent(EventMaskType e) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param((void*)e);
-}
-
-StatusType OSEKOS_WaitEvent(EventMaskType e) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param((void*)e);
-}
-
-StatusType OSEKOS_GetAlarm(AlarmType a, TickType* ticks) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(a);
-  rtsc_annotate_app_param((void*)ticks);
-}
-
-StatusType OSEKOS_SetRelAlarm(AlarmType a, TickType inc, TickType cycle) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(a);
-  rtsc_annotate_app_param((void*)inc);
-  rtsc_annotate_app_param((void*)cycle);
-}
-
-StatusType OSEKOS_SetAbsAlarm(AlarmType a, TickType inc, TickType cycle) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(a);
-  rtsc_annotate_app_param((void*)inc);
-  rtsc_annotate_app_param((void*)cycle);
-}
-
-StatusType OSEKOS_CancelAlarm(AlarmType a) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(a);
-}
-
-StatusType OSEKOS_AdvanceCounter(CounterType c) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(c);
-}
-
-StatusType OSEKOS_SendMessage(MessageIdentifier m,void *data) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(m);
-  rtsc_annotate_app_param((void*)data);
-}
-
-StatusType OSEKOS_ReceiveMessage(MessageIdentifier m,void *data) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(m);
-  rtsc_annotate_app_param((void*)data);
-}
-
-StatusType OSEKOS_SendDynamicMessage(MessageIdentifier m,void *data,unsigned int length) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(m);
-  rtsc_annotate_app_param((void*)data);
-  rtsc_annotate_app_param((void*)length);
-}
-
-StatusType OSEKOS_ReceiveDynamicMessage(MessageIdentifier m,void *data,unsigned int length) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(m);
-  rtsc_annotate_app_param((void*)data);
-  rtsc_annotate_app_param((void*)length);
-}
-
-StatusType OSEKOS_SendZeroMessage(MessageIdentifier m) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param(m);
-}
-
-
-void OSEKOS_ShutdownOS(StatusType m) {
-  rtsc_systemcall();
-  rtsc_annotate_os_param((void*)m);
-
-}
-
-void OSEKOS_DisableAllInterrupts() {
-    rtsc_systemcall();
-}
-void OSEKOS_EnableAllInterrupts() {
-    rtsc_systemcall();
-}
-void OSEKOS_SuspendAllInterrupts() {
-    rtsc_systemcall();
-}
-void OSEKOS_ResumeAllInterrupts() {
-    rtsc_systemcall();
-}
-void OSEKOS_SuspendOSInterrupts() {
-    rtsc_systemcall();
-}
-void OSEKOS_ResumeOSInterrupts() {
-    rtsc_systemcall();
-}
-
-
-void OSEKOS_AcquireCheckedObject(struct CHECKEDOBJECTStruct *) {
-	rtsc_systemcall();
-}
-
-void OSEKOS_ReleaseCheckedObject(struct CHECKEDOBJECTStruct *) {
-	rtsc_systemcall();
-}
-
-}
diff --git a/generator/annotate/rtsc_annotate.h b/generator/annotate/rtsc_annotate.h
deleted file mode 100644
index 5b37194fc62ff8fe23947c211ccbe00e1257aa1e..0000000000000000000000000000000000000000
--- a/generator/annotate/rtsc_annotate.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef __rtsc_annotate_h__
-#define __rtsc_annotate_h__
-
-#include "os.h"
-
-/******************************************************************************
- *                                                                            *
- * Annotations to describe OSEKOS-Systemcalls                                 *
- *                                                                            *
- ******************************************************************************/
-
-/**
- * This annotation indicates that the caller is part of the OS API
- **/
-void rtsc_systemcall();
-
-/**
- * This annotation indicates that a particular parameter is a parameter 
- * belonging to the application, so this parameter must not be eliminated when
- * cleaning up the OS API Calls of the source system.
- *
- * Example:
- * 
- * void setData(Message *m,void *data) {
- *   llvm_annotate_application_param(data);
- * }
- *
- * This indicates that the parameter data carries application related 
- * information. Therefore, that variable passed to this particular call of 
- * setData() must not be eliminated when the call to setData() gets removed!
- **/
-void rtsc_annotate_app_param(void* param);
-
-/**
- * This annotation indicates that a particular parameter is a parameter
- * belonging to the operating system, so this parameter should be eliminiated 
- * when the OS API Calls of the source system are cleaned up.
- *
- * Example:
- * 
- * void setData(Message *m,void *data) {
- *   llvm_annotate_os_param(data);
- * }
- *
- * This indicates that this parameter does not carry application related
- * information. Therefore, the variable passed to this particular call to
- * setData() should also be eliminated when the call to setData gets removed!
- **/
-void rtsc_annotate_os_param(void* param);
-
-/**
- * This annotation indicates that all parameters passed to a parfticular system
- * call belong to the operating system, so all these parameters should be
- * eliminated when the OS API Calls of the source system are cleaned up.
- **/
-void rtsc_annotate_os_param_all();
-
-/******************************************************************************
- *                                                                            *
- * Annotations to mark access to global variables                             *
- *                                                                            *
- ******************************************************************************/
-
-/**
- * This annotation marks the definition of a global variable
- **/
-void RTSC_store_global(void *global,void *local);
-
-/**
- * This annotation marks the use of a global variable
- **/
-void RTSC_load_global(void *global,void *local);
-
-#define STORE(GLOBAL,LOCAL)			\
-  RTSC_store_global(&GLOBAL,&LOCAL)
-
-#define LOAD(GLOBAL,LOCAL)			\
-  RTSC_load_global(&GLOBAL,&LOCAL)
-
-/******************************************************************************
- *                                                                            *
- * Annotations to provide information for WCET-analysis                       *
- *                                                                            *
- ******************************************************************************/
-
-/**
- * Thist annotation provides the maximum number of iterations a loop will carry out
- **/
-void RTSC_setLoopCount(unsigned int i);
-
-/**
- * This annotation provides the maximum number of iteratiions a loop will carry
- * out at all as first parameter. The second parameter may hold a local variable
- * that contains more precise information about the actual iteration count
- **/
-void RTSC_setVariableLoopCount(unsigned int i,void *var);
-
-/**
- * Thist annotation provides the maximum depth of a recursive function call.
- **/
-void RTSC_setRecursionDepth(unsigned int i);
-
-/**
- * This annotation provides the maximum depth of a recursive function call as
- * first parameter. The second parameter may hold a local variable that contains
- * more precise information about the actual recursion depth.
- **/
-void RTSC_setVariableRecursionDepth(unsigned int i,void *var);
-
-#define LOOP_COUNT(count)			\
-  RTSC_setLoopCount(count)
-
-#define VAR_LOOP_COUNT(count,var)		\
-  RTSC_setLoopCount(count,(void*)&var))
-
-#define RECURSION_DEPTH(depth)			\
-  RTSC_setRecursionDepth(depth)
-
-#define VAR_RECURSION_DEPTH(depth,var)		\
-  RTSC_setRecursionDepth(depth,(void*)&var)
-
-/******************************************************************************
- *                                                                            *
- * Annotations to provide possible values for given variables                 *
- *                                                                            *
- ******************************************************************************/
-
-/**
- * This annotation informs about possible values of the variable that is given
- * as first parameter. If such an annotation is given, no values except those
- * given by these annotations are considered.
- **/
-void RTSC_possibleValue(void *var,void *val);
-
-#define POSSIBLE_VAL(var,val)			\
-  RTSC_possibleValue((void*)&var,(void*)val)
-
-/**
- * Specify the WCET for a given basic block. If multiple annotations are given
- * the WCETs are summed up.
- **/
-void RTSC_setBBWCET(unsigned int wcet);
-
-#define BBWCET(WCET)				\
-  RTSC_setBBWCET(WCET)
-
-#endif /* __rtsc_annotate_h__ */
diff --git a/generator/graph/PassManager.py b/generator/graph/PassManager.py
index fd2d00e3e7eef1307ca1ea733692c78346879bbc..3e138faee538daf687eef9277ac9c6d386487403 100644
--- a/generator/graph/PassManager.py
+++ b/generator/graph/PassManager.py
@@ -79,7 +79,7 @@ class PassManager:
                 self.verifiers[x] = getattr(module, x)
         logging.info("Loaded %d verifier functions", len(self.verifiers))
 
-    def get_pass(self, name, only_enqueued = False):
+    def get_pass(self, name, only_enqueued=False):
         P = self.passes.get(name, None)
         if only_enqueued and P:
             if P in self.analysis_pipe or P.valid:
@@ -100,11 +100,11 @@ class PassManager:
         pass_number = 0
 
         # Dump graph as dot output
-        with open("%s_00_passes.dot" %(basefilename), "w+") as fd:
+        with open("%s_00_passes.dot" % (basefilename), "w+") as fd:
             fd.write(self.pass_graph().dump_as_dot())
 
         # Dump graph as dot output
-        with open("%s_%02d_RTSC.dot" %(basefilename, pass_number), "w+") as fd:
+        with open("%s_%02d_original.dot" %(basefilename, pass_number), "w+") as fd:
             fd.write(self.system_graph.dump_as_dot())
             pass_number += 1
 
diff --git a/generator/graph/SystemGraph.py b/generator/graph/SystemGraph.py
index 7498f4d3a9ab39a8a067e4ddc6be3c7f5c34c81a..82588977d27af463786f1d0c8faccfdd72082674 100644
--- a/generator/graph/SystemGraph.py
+++ b/generator/graph/SystemGraph.py
@@ -17,7 +17,7 @@ class SystemGraph(GraphObject, PassManager):
        produces system blocks"""
 
     def __init__(self):
-        GraphObject.__init__(self, "SystemGraph", root = True)
+        GraphObject.__init__(self, "SystemGraph", root=True)
         PassManager.__init__(self, self)
         self.counters = {}
         self.tasks = []
@@ -26,7 +26,6 @@ class SystemGraph(GraphObject, PassManager):
         self.label = "SystemGraph"
         self.max_abb_id = 0
         self.system = None
-        self.rtsc = None
         self.llvmpy = None
         self.alarms = []
         self.isrs = []
@@ -44,7 +43,7 @@ class SystemGraph(GraphObject, PassManager):
         for function in self.functions.values():
             if not self.passes["AddFunctionCalls"].is_relevant_function(function):
                 continue
-            if not function in sub_objects:
+            if function not in sub_objects:
                 objects.append(function)
         return objects
 
@@ -78,7 +77,7 @@ class SystemGraph(GraphObject, PassManager):
                     return subtask
 
 
-    def find_syscall(self, function, syscall_type, arguments, multiple = False):
+    def find_syscall(self, function, syscall_type, arguments, multiple=False):
         abbs = []
         for abb in function.abbs:
             if abb.isA(syscall_type) \
@@ -100,16 +99,25 @@ class SystemGraph(GraphObject, PassManager):
         """The scheduler priority is higher than the highest task"""
         return max([x.static_priority for x in self.get_subtasks()]) + 1
 
-
     def read_oil_system_description(self, system):
-        """Reads in the system description out of an OIL file and builds the tasks and subtask
-        objects and connects them"""
-        maxprio = 0  #  Maximum task prio according to OIL file
+        """Reads in the system description out of an OIL file and builds the
+        tasks and subtask objects and connects them
+
+        """
+        maxprio = 0  # Maximum task prio according to OIL file
+        tasks = {}
         for task_desc in system.getTasks():
+            # Create or Get the Task (Group)
+            task_group = task_desc.taskgroup
             taskname = task_desc.name
-            task = Task(self, "Task:" + taskname)
-            self.tasks.append(task)
-            self.stats.add_child(self, "task", task)
+            if task_group not in tasks:
+                task = Task(self, task_group)
+                self.tasks.append(task)
+                tasks[task_group] = task
+                self.stats.add_child(self, "task", task)
+            else:
+                task = tasks[task_group]
+
             subtask = Subtask(self, taskname, "OSEKOS_TASK_" + taskname)
             # Every subtask belongs to a task
             task.add_subtask(subtask)
@@ -133,9 +141,17 @@ class SystemGraph(GraphObject, PassManager):
         #  ISR
         isr_prio = maxprio + 1  # ISR get priorities above maximum task prio
         for isr_desc in system.getISRs():
-            task = Task(self, "ISRTask:" + isr_desc.name)
-            self.tasks.append(task)
-            self.stats.add_child(self, "task", task)
+            task_group = isr_desc.taskgroup
+            taskname = isr_desc.name
+            if task_group not in tasks:
+                task = Task(self, task_group)
+                self.tasks.append(task)
+                tasks[task_group] = task
+                self.stats.add_child(self, "task", task)
+            else:
+                task = tasks[task_group]
+
+            # Generate Subtask for ISR
             subtask = Subtask(self, isr_desc.name, "OSEKOS_ISR_" + isr_desc.name)
             task.add_subtask(subtask)
             self.functions[subtask.function_name] = subtask
@@ -154,12 +170,18 @@ class SystemGraph(GraphObject, PassManager):
             subtask.set_max_activations(1)
             subtask.set_autostart(False)
             subtask.set_is_isr(True, isr_desc.device)
-            self.stats.add_data(subtask, "is_isr", True, scalar = True)
+            self.stats.add_data(subtask, "is_isr", True, scalar=True)
 
             self.isrs.append(ISR(self, subtask))
 
+        # Now, all Task (Groups) are created, now we catch the task group configurations
+        for taskgroup_desc in system.getTaskGroups():
+            task_group = tasks[taskgroup_desc.name]
+            task_group.promises.update(taskgroup_desc.promises)
+
         #  Counters
-        Counter = namedtuple("Counter", ["name", "maxallowedvalue", "ticksperbase", "mincycle",
+        Counter = namedtuple("Counter", ["name", "maxallowedvalue",
+                                         "ticksperbase", "mincycle",
                                          "softcounter"])
         for ctr in system.getCounters():
             self.counters[ctr.name] = Counter(name = ctr.name,
@@ -200,91 +222,11 @@ class SystemGraph(GraphObject, PassManager):
                         if not x.is_isr]
             self.resources[sched] = Resource(self, sched, subtasks)
 
-
-    def read_xml_system_description(self, system):
-        """Reads in the system description out of an XML file and builds the tasks and subtask
-        objects and connects them"""
-
-        for task_desc in system.getTasks():
-            task = Task(self, "Task:by-event:" + task_desc.event[0])
-            task.set_event(task_desc.event)
-            task.set_promises(task_desc.promises)
-            self.tasks.append(task)
-            self.stats.add_child(self, "task", task)
-            for subtask_name, deadline in task_desc.subtasks.items():
-                isISR = system.isISR(subtask_name)
-                if isISR:
-                    subtask = Subtask(self, subtask_name, "OSEKOS_ISR_" + subtask_name)
-                else:
-                    subtask = Subtask(self, subtask_name, "OSEKOS_TASK_" + subtask_name)
-                # Every subtask belongs to a task
-                task.add_subtask(subtask)
-                # Every subtask is also an function
-                self.functions[subtask.function_name] = subtask
-                self.stats.add_child(task, "subtask", subtask)
-
-
-                subtask.set_deadline(deadline)
-                if isISR:
-                    isr_osek = system.getISR(subtask_name)
-                    subtask.set_static_priority(isr_osek.priority)
-                    # Assumption: Our subtasks are non-preemptable basic-tasks
-                    subtask.set_preemptable(False)
-                    subtask.set_basic_task(True)
-                    subtask.set_max_activations(1)
-                    subtask.set_autostart(False)
-                    subtask.set_is_isr(True, isr_osek.device)
-                    self.stats.add_data(subtask, "is_isr", True, scalar = True)
-
-                    self.isrs.append(ISR(self, subtask))
-                else:
-                    subtask_osek = system.getSubTask(subtask_name)
-                    assert subtask_osek.static_priority != 0,  \
-                        "No user thread can have the thread ID 0, it is reserved for the Idle thread"
-                    subtask.set_static_priority(subtask_osek.static_priority)
-                    subtask.set_preemptable(subtask_osek.preemptable)
-                    subtask.set_basic_task(subtask_osek.is_basic)
-                    subtask.set_max_activations(subtask_osek.max_activations)
-                    subtask.set_autostart(subtask_osek.autostart)
-                    subtask.set_is_isr(False)
-                    self.stats.add_data(subtask, "is_isr", False, scalar = True)
         self.checkedObjects = system.getCheckedObjects()
 
 
 
-
-        self.counters = {x.name: x for x in system.getHardwareCounters()}
-
-        for alarm in system.getAlarms():
-            activated_subtask = self.functions["OSEKOS_TASK_" + alarm.task]
-            belongs_to_task = activated_subtask.task
-
-            # Generate a Alarm Handler SubTask
-            name = "OSEKOS_ALARM_HANDLER_" + alarm.name
-            subtask = Subtask(self, alarm.name, name)
-            subtask.set_static_priority(1<<31)
-            subtask.set_preemptable(False)
-            subtask.set_basic_task(True)
-            subtask.set_max_activations(1)
-            subtask.set_autostart(False)
-            subtask.set_is_isr(True)
-
-
-            # And add it to the task where the activated task belongs to
-            belongs_to_task.add_subtask(subtask)
-            self.functions[subtask.function_name] = subtask
-
-            self.alarms.append(Alarm(self, subtask, alarm, activated_subtask))
-
-        for res in system.getResources():
-            self.resources[res.name] = Resource(self, res.name, res.tasks)
-        if not "RES_SCHEDULER" in self.resources:
-            sched = "RES_SCHEDULER"
-            subtasks = [x.name for x in self.get_subtasks()
-                       if not x.is_isr]
-            self.resources[sched] = Resource(self, sched, subtasks)
-
-
+    
     def read_llvmpy_analysis(self, llvmpy):
         self.llvmpy = llvmpy
         self.max_abb_id = 0
@@ -379,81 +321,7 @@ class SystemGraph(GraphObject, PassManager):
             abb.function.called_functions.update(called_funcs)
 
 
-    def read_rtsc_analysis(self, rtsc):
-        self.rtsc = rtsc
-        self.max_abb_id = 0
-
-        # Add all atomic basic blocks
-        for abb_xml in rtsc.get_abbs():
-            abb = AtomicBasicBlock(self, abb_xml.id)
-            self.max_abb_id = max(self.max_abb_id, abb_xml.id)
-            ## add to global abb dict for faster search
-            self.all_abbs[abb.get_id()] = abb
-
-            # Get function for abb
-            function = self.functions.get(abb_xml.in_function)
-            if function == None:
-                # Not existing yet, just add it
-                function = Function(abb_xml.in_function)
-                self.functions[abb_xml.in_function] = function
-            function.add_atomic_basic_block(abb)
-            if abb_xml.func_entry:
-                function.set_entry_abb(abb)
-
-        # Generate an ActivateTask for every alarm
-        for alarm in self.alarms:
-            activate_task = self.new_abb()
-            alarm.handler.add_atomic_basic_block(activate_task)
-            alarm.handler.set_entry_abb(activate_task)
-            activate_task.make_it_a_syscall(S.ActivateTask, [alarm.subtask])
-            alarm.carried_syscall = activate_task
-
-            # Statistic generation
-            self.stats.add_child(alarm.handler.task, "subtask", alarm.handler)
-            self.stats.add_data(alarm.handler, "is_isr", True, scalar = True)
-
-
-        # Add all implicit intra function control flow graphs
-        for dep in self.rtsc.get_edges():
-            source = self.find_abb(dep.source)
-            target = self.find_abb(dep.target)
-            source.add_cfg_edge(target, E.function_level)
-
-        # Find all return blocks for functions
-        for function in self.functions.values():
-            ret_abbs = []
-            for abb in function.abbs:
-                if len(abb.get_outgoing_edges(E.function_level)) == 0:
-                    ret_abbs.append(abb)
-
-            if len(ret_abbs) == 0:
-                logging.info("Endless loop in %s", function)
-            elif len(ret_abbs) > 1:
-                # Add an artificial exit block
-                abb = self.new_abb()
-                function.add_atomic_basic_block(abb)
-                for ret in ret_abbs:
-                    ret.add_cfg_edge(abb, E.function_level)
-                function.set_exit_abb(abb)
-            else:
-                function.set_exit_abb(ret_abbs[0])
-            if isinstance(function, Subtask) and function.is_isr:
-                # All ISR function get an additional iret block
-                iret = self.new_abb()
-                function.add_atomic_basic_block(iret)
-                iret.make_it_a_syscall(S.iret, [function])
-                function.exit_abb.add_cfg_edge(iret, E.function_level)
-                function.set_exit_abb(iret)
-
-        # Add all system calls
-        for syscall in self.rtsc.syscalls():
-            abb = self.find_abb(syscall.abb)
-            assert abb.isA(S.computation)
-            abb.make_it_a_syscall(S.fromString(syscall.name), syscall.arguments)
-            assert not abb.isA(S.computation)
-            assert abb in self.get_abbs()
-        assert len(self.get_syscalls()) >= len(self.rtsc.syscalls())
-
+    
 
     def new_abb(self, bbs=[]):
         self.max_abb_id += 1
diff --git a/generator/main.py b/generator/main.py
index 90cab40d4647dde407381c664fcbceef9afbc5da..0fde17c1a0a9cc698d48ac2c21fc12df6a3f1298 100755
--- a/generator/main.py
+++ b/generator/main.py
@@ -18,6 +18,7 @@ import sys
 import logging
 import optparse
 
+
 def split_lls_callback(option, opt, value, parser):
     x = value.split(',')
     y = getattr(parser.values, option.dest)
@@ -25,6 +26,7 @@ def split_lls_callback(option, opt, value, parser):
         x = y + x
     setattr(parser.values, option.dest, x)
 
+
 def setup_logging(log_level : int):
     """ setup the logging module with the given log_level """
 
@@ -39,7 +41,7 @@ if __name__ == "__main__":
     source_dir = os.path.dirname(os.path.abspath(__file__))
     sys.path.insert(0, os.path.abspath(os.path.join(source_dir, "..")))
 
-    from generator import LLVMPYAnalysis, Generator, RTSCAnalysis, RTSCSystemDescription, OILSystemDescription
+    from generator import LLVMPYAnalysis, Generator, OILSystemDescription
     from generator.rules import *
     from generator.graph import *
     from generator.tools import panic, wrap_typecheck_functions
@@ -51,8 +53,6 @@ if __name__ == "__main__":
     parser = optparse.OptionParser(usage=usage)
     parser.add_option("", "--system-desc",
                       metavar="SYSTEM_DESC", help="the system description file (.xml or .oil)")
-    parser.add_option("", "--rtsc-analyze-xml",
-                      metavar="RTSC_ANALYZE_XML", help="the RTSC Analyze file")
     parser.add_option("-p", "--prefix",
                       metavar="DIR", help="where to place the dosek source (prefix)")
     parser.add_option("-n", "--name",
@@ -98,8 +98,7 @@ if __name__ == "__main__":
 
     if options.system_desc:
         if options.system_desc.lower().endswith(".xml"):
-            system_description = RTSCSystemDescription.RTSCSystemDescription(options.system_desc)
-            graph.read_xml_system_description(system_description)
+            panic("RTSC XMLs no longer supported")
         elif options.system_desc.lower().endswith(".oil"):
             system_description = OILSystemDescription.OILSystemDescription(options.system_desc)
             graph.read_oil_system_description(system_description)
@@ -115,12 +114,7 @@ if __name__ == "__main__":
 
     systemanalysis = None
 
-    if options.rtsc_analyze_xml:
-      rtsc_analysis = RTSCAnalysis.RTSCAnalysis(options.rtsc_analyze_xml)
-      graph.read_rtsc_analysis(rtsc_analysis)
-      systemanalysis = rtsc_analysis
-
-    elif options.llfiles and len(options.llfiles) > 0:
+    if options.llfiles and len(options.llfiles) > 0:
         print("Analyzing via llvmpy. ", options.llfiles)
         mergedoutfile = open(options.mergedoutput, 'w')
         if not mergedoutfile:
@@ -134,7 +128,7 @@ if __name__ == "__main__":
         pass_manager.register_and_enqueue_analysis(ABBMergePass())
 
     else:
-        print("Error, choose an analysis variant. RTSC or LLVMPY")
+        print("No .ll files given")
         sys.exit(-1)
 
     graph.add_system_objects()
diff --git a/generator/test/example.oil b/generator/test/example.oil
index d110b7959f372f5b73952ddd2e8ec59027fb77b3..1e4ea975121fe16a525cef6e5ffbe64880b2d1f1 100644
--- a/generator/test/example.oil
+++ b/generator/test/example.oil
@@ -96,4 +96,11 @@ CPU Josek_x86 {
 		DEVICE = 32;
 	};
 
+    CHECKEDOBJECT data {
+       TYPEDEF = complextype {
+          HEADER = "app/bcc1/depsvc/type.h";
+       };
+       CHECKFUNCTION = datacheck;
+    };
+
 } : "Das ist eine Beschreibung der CPU" ;
diff --git a/generator/test/osekossystem.xml b/generator/test/osekossystem.xml
deleted file mode 100644
index 3672fed325750282707fc3d74ce74d459da15520..0000000000000000000000000000000000000000
--- a/generator/test/osekossystem.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-
-<oseksystem xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	    xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <OS>
-    <name>TestSystem</name>
-    <STATUS>STANDARD</STATUS>
-    <ERRORHOOK>FALSE</ERRORHOOK>
-    <STARTUPHOOK>FALSE</STARTUPHOOK>
-    <SHUTDOWNHOOK>FALSE</SHUTDOWNHOOK>
-    <PRETASKHOOK>FALSE</PRETASKHOOK>
-    <POSTTASKHOOK>FALSE</POSTTASKHOOK>
-  </OS>
-
-  <TASK>
-    <name>Handler11</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>5</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler12</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-
-  <TASK>
-    <name>Handler13</name>
-    <TYPE>BASIC</TYPE>
-    <SCHEDULE>FULL</SCHEDULE>
-    <PRIORITY>4</PRIORITY>
-    <ACTIVATION>1</ACTIVATION>
-    <AUTOSTART>TRUE</AUTOSTART>
-  </TASK>
-</oseksystem>
diff --git a/generator/test/rtsc_analyze.xml b/generator/test/rtsc_analyze.xml
deleted file mode 100644
index c16fdfd5b93b0be18017b316919e514ced65d350..0000000000000000000000000000000000000000
--- a/generator/test/rtsc_analyze.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
-<RTSCAnalyze xmlns="http://www4.informatik.uni-erlangen.de/RTSC">
-
-  <systemcall abb="3" name="OSEKOS_ActivateTask">
-    <call_arguments>
-      <arg pos="0" type="global">OSEKOS_TASK_Struct_Handler12</arg>
-    </call_arguments>
-  </systemcall>
-
-  <systemcall abb="4" name="OSEKOS_ActivateTask">
-    <call_arguments>
-      <arg pos="0" type="global">OSEKOS_TASK_Struct_Handler13</arg>
-    </call_arguments>
-  </systemcall>
-
-  <systemcall abb="5" name="OSEKOS_TerminateTask">
-    <call_arguments/>
-  </systemcall>
-
-  <systemcall abb="7" name="OSEKOS_TerminateTask">
-    <call_arguments/>
-  </systemcall>
-
-  <systemcall abb="9" name="OSEKOS_TerminateTask">
-    <call_arguments/>
-  </systemcall>
-
-  <abbgraph>
-    <event id="Event1">
-      <subtask name="Handler11">
-        <abb function="OSEKOS_TASK_Handler11" name="5"/>
-        <abb func_entry="true" function="OSEKOS_TASK_Handler11" name="3">
-          <dependency target="7"/>
-          <dependency target="4"/>
-        </abb>
-        <abb function="OSEKOS_TASK_Handler11" name="4">
-          <dependency target="9"/>
-          <dependency target="5"/>
-        </abb>
-      </subtask>
-      <subtask name="Handler12">
-        <abb func_entry="true" function="OSEKOS_TASK_Handler12" name="7"/>
-      </subtask>
-      <subtask name="Handler13">
-        <abb func_entry="true" function="OSEKOS_TASK_Handler13" name="9"/>
-      </subtask>
-    </event>
-  </abbgraph>
-
-</RTSCAnalyze>
diff --git a/generator/test/system.xml b/generator/test/system.xml
deleted file mode 100644
index 41ca0c15b9d03cb20a4afccad38508d132c0e9ed..0000000000000000000000000000000000000000
--- a/generator/test/system.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0"?>
-
-<system xmlns              = "http://www4.informatik.uni-erlangen.de/RTSC"
-	xmlns:xsi          = "http://www.w3.org/2001/XMLSchema-instance">
-
-  <name>TestSystem</name>
-  <mappingtype>name</mappingtype>
-  <granule>ms</granule>
-  <resolution>1</resolution>
-  <systemtype>OSEKOS</systemtype>
-
-  <periodicevent>
-    <identifier>Event1</identifier>
-    <period>1000</period>
-    <phase>0</phase>
-    <jitter>0</jitter>
-  </periodicevent>
-
-  <task>
-    <event>Event1</event>
-    <subtask root="true">
-      <handler>Handler11</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler12</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-    <subtask>
-      <handler>Handler13</handler>
-      <deadline>
-        <relative>true</relative>
-        <type>hard</type>
-        <deadline>200</deadline>
-      </deadline>
-    </subtask>
-  </task>
-
-  <specificdescription>osekossystem.xml</specificdescription>
-</system>
diff --git a/toolchain/app.cmake b/toolchain/app.cmake
index 4e7b0c48da89f012a44b17b05c6cb1e2e27257b5..2e64dcca755774491ef40d1bbaab861458fbec1e 100644
--- a/toolchain/app.cmake
+++ b/toolchain/app.cmake
@@ -1,5 +1,4 @@
 include(CMakeParseArguments)
-include(rtsc)
 
 MACRO(DOSEK_BINARY_EXECUTABLE NAME SOURCES SYSTEM_DESC VERIFY_SCRIPT DEFINITIONS LIBS SPECIFIC_GENERATOR_ARGS)
   SET(DOSEK_ANNOTATE_SOURCE "${DOSEK_GENERATOR_DIR}/annotate/cored_annotate.cc")
@@ -21,7 +20,6 @@ MACRO(DOSEK_BINARY_EXECUTABLE NAME SOURCES SYSTEM_DESC VERIFY_SCRIPT DEFINITIONS
     COMMENT "[${PROJECT_NAME}/${name}] Compiling cored_annotate.c with clang")
 
   set(DOSEK_SOURCE_SYSTEM "${DOSEK_OUTPUT_DIR}/source_system.ll")
-  set(DOSEK_RTSC_ANALYZE_XML "${DOSEK_OUTPUT_DIR}/rtsc_analyze.xml")
   set(DOSEK_GENERATED_SOURCE "${DOSEK_OUTPUT_DIR}/dosek.cc")
   set(DOSEK_GENERATED_LINKER "${DOSEK_OUTPUT_DIR}/linker.ld")
 
@@ -129,7 +127,6 @@ MACRO(DOSEK_BINARY_EXECUTABLE NAME SOURCES SYSTEM_DESC VERIFY_SCRIPT DEFINITIONS
   )
 
   # Compile the dosek system
-  include_directories(${RTSC_SOURCE_DIR}/data/SystemSupport/CoReD/include/)
   dosek_executable(${NAME} EXCLUDE_FROM_ALL
     SOURCES ${DOSEK_SOURCE_SYSTEM} ${DOSEK_GENERATED_SOURCE}
     LIBS ${DOSEK_BINARY_LIBS}
diff --git a/toolchain/rtsc.cmake b/toolchain/rtsc.cmake
deleted file mode 100644
index 1e6557acf990f7b3dd8fc27d7bca027f500e0819..0000000000000000000000000000000000000000
--- a/toolchain/rtsc.cmake
+++ /dev/null
@@ -1,15 +0,0 @@
-# The RTSC Source code and a compiled rtsc version
-SET(RTSC_SOURCE_DIR "/proj/i4danceos/tools/rtsc/rtsc" CACHE STRING "Source directory of the RTSC")
-SET(RTSC_BINARY_DIR "/proj/i4danceos/tools/rtsc/rtscbuild" CACHE STRING "Build directory of the RTSC")
-SET(RTSC_LLVM_BINARY_DIR "/proj/i4danceos/tools/rtsc/llvmbuild" CACHE STRING "Build directory of the LLVM (used for RTSC)")
-
-SET(EAG_BINARY "${RTSC_BINARY_DIR}/bin/eag")
-SET(CLANG_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/clang")
-SET(CLANGPP_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/clang++")
-SET(LLVM_NM_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/llvm-nm")
-SET(LLVM_LINK_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/llvm-link")
-SET(LLVM_OPT_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/opt")
-SET(LLVM_LLC_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/llc")
-SET(LLVM_LD_BINARY "${RTSC_LLVM_BINARY_DIR}/bin/llvm-ld")
-
-