From 2310f145a6529bcd545e5d23689e09124f466e8a Mon Sep 17 00:00:00 2001
From: Christian Dietrich <christian.dietrich@informatik.uni-erlangen.de>
Date: Mon, 12 Jan 2015 16:32:51 +0100
Subject: [PATCH] RTSC/OIL: Remove all RTSC bits in favour of the OIL
 description

Since we have no longer an dependency on RTSC, we fully remove the
support for XML files written by RTSC. Therefore, the our OIL Parser was
extended to recognize several no standard constructs:

- Task Groups (Task in RTSC Nomenclature, OSEK Tasks are SubTasks)

  TASKGROUP taskname {
     PROMISE = SERIALIZED;
  }

  TASK subtaskname {
    ...
    TASKGROUP = taskname;
  };

- CheckedObjects
  We can declare data objects that are checked by a concurrently running
  checker core.

  CHECKEDOBJECT name {
      TYPEDEF = mytype;
      HEADER  = "foo/bar/baz.h";
      CHECKFUNCTION = datacheck;
  };

Change-Id: I6dce83cfa8266cc802d9a83d8432680fb905bc3d
---
 CMakeLists.txt                                |   3 +-
 app/bcc1/alarm1/CMakeLists.txt                |  12 +-
 app/bcc1/alarm1/osekossystem.xml              |  60 -----
 app/bcc1/alarm1/system.xml                    |  72 ------
 app/bcc1/alarm2/CMakeLists.txt                |   6 +-
 app/bcc1/alarm2/osekossystem.xml              |  74 ------
 app/bcc1/alarm2/system.oil                    |  62 +++++
 app/bcc1/alarm2/system.xml                    |  72 ------
 app/bcc1/alarm3/CMakeLists.txt                |  10 +-
 app/bcc1/alarm3/osekossystem.xml              |  78 ------
 app/bcc1/alarm3/system.oil                    |  66 +++++
 app/bcc1/alarm3/system.xml                    | 110 --------
 app/bcc1/complex1/CMakeLists.txt              |   8 +-
 app/bcc1/complex1/osekossystem.xml            |  69 -----
 app/bcc1/complex1/system.oil                  |  59 +++++
 app/bcc1/complex1/system.xml                  |  65 -----
 app/bcc1/complex2/CMakeLists.txt              |   2 +-
 app/bcc1/complex2/osekossystem.xml            |  69 -----
 app/bcc1/complex2/system.oil                  |  53 ++++
 app/bcc1/complex2/system.xml                  |  81 ------
 app/bcc1/depsvc/CMakeLists.txt                |   2 +-
 app/bcc1/depsvc/osekossystem.xml              |  61 -----
 app/bcc1/depsvc/system.oil                    |  47 ++++
 app/bcc1/depsvc/system.xml                    |  32 ---
 app/bcc1/hoffmann/CMakeLists.txt              |   2 +-
 app/bcc1/hoffmann/osekossystem.xml            |  42 ----
 app/bcc1/hoffmann/system.oil                  |  33 +++
 app/bcc1/hoffmann/system.xml                  |  48 ----
 app/bcc1/isr2/CMakeLists.txt                  |  10 +-
 app/bcc1/isr2/osekossystem.xml                |  50 ----
 app/bcc1/isr2/system.xml                      |  65 -----
 app/bcc1/lukas/CMakeLists.txt                 |   6 +-
 app/bcc1/lukas/alarmstress.oil                |  57 +++++
 app/bcc1/lukas/alarmstress.xml                |  64 -----
 app/bcc1/lukas/alarmstress_osek.xml           |  72 ------
 app/bcc1/lukas/dispatch.oil                   |  41 +++
 app/bcc1/lukas/dispatch.xml                   |  57 -----
 app/bcc1/lukas/dispatch_osek.xml              |  53 ----
 app/bcc1/lukas/isr2.oil                       |  47 ++++
 app/bcc1/lukas/isr2.xml                       | 111 --------
 app/bcc1/lukas/isr2_osek.xml                  |  64 -----
 app/bcc1/resource1/CMakeLists.txt             |  20 +-
 app/bcc1/resource1/osekossystem.xml           |  83 ------
 app/bcc1/resource1/system.xml                 | 110 --------
 app/bcc1/resource2/CMakeLists.txt             |   4 +-
 app/bcc1/resource2/osekossystem.xml           | 101 --------
 app/bcc1/resource2/system.oil                 |  84 +++++++
 app/bcc1/resource2/system.xml                 | 110 --------
 app/bcc1/sse1/CMakeLists.txt                  |   6 +-
 app/bcc1/sse1/osekossystem.xml                |  83 ------
 app/bcc1/sse1/system.oil                      |  67 +++++
 app/bcc1/sse1/system.xml                      | 110 --------
 app/bcc1/sse1/verify_a.py                     |   2 +-
 app/bcc1/task1/CMakeLists.txt                 |  14 +-
 app/bcc1/task1/osekossystem.xml               |  42 ----
 app/bcc1/task1/system.xml                     |  48 ----
 app/bcc1/task2/CMakeLists.txt                 |   6 +-
 app/bcc1/task2/osekossystem.xml               |  42 ----
 app/bcc1/task2/system.oil                     |  35 +++
 app/bcc1/task2/system.xml                     |  48 ----
 app/benchmark/CMakeLists.txt                  |   2 +-
 app/benchmark/complex1/CMakeLists.txt         |   2 +-
 app/benchmark/complex1/osekossystem.xml       |  69 -----
 app/benchmark/complex1/system.oil             |  59 +++++
 app/benchmark/complex1/system.xml             |  65 -----
 app/benchmark/coptermock/CMakeLists.txt       |   2 +-
 app/benchmark/coptermock/osekossystem.xml     | 178 -------------
 .../coptermock/system-no-annotation.xml       | 108 --------
 app/benchmark/coptermock/system.oil           | 167 ++++++++++++
 app/benchmark/coptermock/system.xml           | 108 --------
 app/benchmark/osekossystem.xml                |  42 ----
 app/benchmark/system.oil                      |  35 +++
 app/benchmark/system.xml                      |  48 ----
 app/benchmark/zedboard/osekossystem.xml       |  42 ----
 app/benchmark/zedboard/system.xml             |  84 -------
 app/sysmodel/1alarm/CMakeLists.txt            |   4 +-
 app/sysmodel/1alarm/a.oil                     |  65 +++++
 app/sysmodel/1alarm/a.xml                     | 108 --------
 app/sysmodel/1alarm/aa.oil                    |  71 ++++++
 app/sysmodel/1alarm/aa.xml                    | 104 --------
 app/sysmodel/1alarm/osekossystem.xml          |  78 ------
 app/sysmodel/1alarm/verify_a.py               |  10 +-
 dependability/benchmark/benchfile.py          | 117 ++++-----
 dependability/benchmark/createresults.py      |   4 +-
 generator/CMakeLists.txt                      |   2 -
 generator/Generator.py                        |   1 -
 generator/OILSystemDescription.py             | 163 ++++++++----
 generator/RTSCAnalysis.py                     |  85 -------
 generator/RTSCSystemDescription.py            | 238 ------------------
 generator/annotate/cored_annotate.cc          | 157 ------------
 generator/annotate/rtsc_annotate.h            | 147 -----------
 generator/graph/PassManager.py                |   6 +-
 generator/graph/SystemGraph.py                | 212 +++-------------
 generator/main.py                             |  18 +-
 generator/test/example.oil                    |   7 +
 generator/test/osekossystem.xml               |  42 ----
 generator/test/rtsc_analyze.xml               |  50 ----
 generator/test/system.xml                     |  48 ----
 toolchain/app.cmake                           |   3 -
 toolchain/rtsc.cmake                          |  15 --
 100 files changed, 1335 insertions(+), 4441 deletions(-)
 delete mode 100644 app/bcc1/alarm1/osekossystem.xml
 delete mode 100644 app/bcc1/alarm1/system.xml
 delete mode 100644 app/bcc1/alarm2/osekossystem.xml
 create mode 100644 app/bcc1/alarm2/system.oil
 delete mode 100644 app/bcc1/alarm2/system.xml
 delete mode 100644 app/bcc1/alarm3/osekossystem.xml
 create mode 100644 app/bcc1/alarm3/system.oil
 delete mode 100644 app/bcc1/alarm3/system.xml
 delete mode 100644 app/bcc1/complex1/osekossystem.xml
 create mode 100644 app/bcc1/complex1/system.oil
 delete mode 100644 app/bcc1/complex1/system.xml
 delete mode 100644 app/bcc1/complex2/osekossystem.xml
 create mode 100644 app/bcc1/complex2/system.oil
 delete mode 100644 app/bcc1/complex2/system.xml
 delete mode 100644 app/bcc1/depsvc/osekossystem.xml
 create mode 100644 app/bcc1/depsvc/system.oil
 delete mode 100644 app/bcc1/depsvc/system.xml
 delete mode 100644 app/bcc1/hoffmann/osekossystem.xml
 create mode 100644 app/bcc1/hoffmann/system.oil
 delete mode 100644 app/bcc1/hoffmann/system.xml
 delete mode 100644 app/bcc1/isr2/osekossystem.xml
 delete mode 100644 app/bcc1/isr2/system.xml
 create mode 100644 app/bcc1/lukas/alarmstress.oil
 delete mode 100644 app/bcc1/lukas/alarmstress.xml
 delete mode 100644 app/bcc1/lukas/alarmstress_osek.xml
 create mode 100644 app/bcc1/lukas/dispatch.oil
 delete mode 100644 app/bcc1/lukas/dispatch.xml
 delete mode 100644 app/bcc1/lukas/dispatch_osek.xml
 create mode 100644 app/bcc1/lukas/isr2.oil
 delete mode 100644 app/bcc1/lukas/isr2.xml
 delete mode 100644 app/bcc1/lukas/isr2_osek.xml
 delete mode 100644 app/bcc1/resource1/osekossystem.xml
 delete mode 100644 app/bcc1/resource1/system.xml
 delete mode 100644 app/bcc1/resource2/osekossystem.xml
 create mode 100644 app/bcc1/resource2/system.oil
 delete mode 100644 app/bcc1/resource2/system.xml
 delete mode 100644 app/bcc1/sse1/osekossystem.xml
 create mode 100644 app/bcc1/sse1/system.oil
 delete mode 100644 app/bcc1/sse1/system.xml
 delete mode 100644 app/bcc1/task1/osekossystem.xml
 delete mode 100644 app/bcc1/task1/system.xml
 delete mode 100644 app/bcc1/task2/osekossystem.xml
 create mode 100644 app/bcc1/task2/system.oil
 delete mode 100644 app/bcc1/task2/system.xml
 delete mode 100644 app/benchmark/complex1/osekossystem.xml
 create mode 100644 app/benchmark/complex1/system.oil
 delete mode 100644 app/benchmark/complex1/system.xml
 delete mode 100644 app/benchmark/coptermock/osekossystem.xml
 delete mode 100644 app/benchmark/coptermock/system-no-annotation.xml
 create mode 100644 app/benchmark/coptermock/system.oil
 delete mode 100644 app/benchmark/coptermock/system.xml
 delete mode 100644 app/benchmark/osekossystem.xml
 create mode 100644 app/benchmark/system.oil
 delete mode 100644 app/benchmark/system.xml
 delete mode 100644 app/benchmark/zedboard/osekossystem.xml
 delete mode 100644 app/benchmark/zedboard/system.xml
 create mode 100644 app/sysmodel/1alarm/a.oil
 delete mode 100644 app/sysmodel/1alarm/a.xml
 create mode 100644 app/sysmodel/1alarm/aa.oil
 delete mode 100644 app/sysmodel/1alarm/aa.xml
 delete mode 100644 app/sysmodel/1alarm/osekossystem.xml
 delete mode 100644 generator/RTSCAnalysis.py
 delete mode 100644 generator/RTSCSystemDescription.py
 delete mode 100644 generator/annotate/cored_annotate.cc
 delete mode 100644 generator/annotate/rtsc_annotate.h
 delete mode 100644 generator/test/osekossystem.xml
 delete mode 100644 generator/test/rtsc_analyze.xml
 delete mode 100644 generator/test/system.xml
 delete mode 100644 toolchain/rtsc.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 932319d..b2a2c14 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 d5a06fc..2eaf1d3 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 a2f1973..0000000
--- 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 218dd64..0000000
--- 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 d6740bd..3516282 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 7fb2dae..0000000
--- 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 0000000..8554d58
--- /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 218dd64..0000000
--- 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 15b8011..277372c 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 5886194..0000000
--- 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 0000000..9d292b7
--- /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 c321f19..0000000
--- 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 6d8add5..244d67d 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 35b6cbd..0000000
--- 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 0000000..f91912f
--- /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 6452ee5..0000000
--- 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 b7df38d..67c9d54 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 03c0598..0000000
--- 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 0000000..d39e3f1
--- /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 6a485d2..0000000
--- 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 e1c77a0..f242145 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 2ddd78e..0000000
--- 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 0000000..3b1a226
--- /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 4c584d8..0000000
--- 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 c68c03d..e3471f5 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 aa498b4..0000000
--- 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 0000000..ce22b3a
--- /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 41ca0c1..0000000
--- 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 5e6ed59..b4a4846 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 58a0a1e..0000000
--- 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 6452ee5..0000000
--- 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 3939ef7..24cf461 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 0000000..8e1dd2f
--- /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 dd8d8ea..0000000
--- 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 a3c08d4..0000000
--- 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 0000000..03060a1
--- /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 458e46a..0000000
--- 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 0722c3f..0000000
--- 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 0000000..f670a98
--- /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 405e817..0000000
--- 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 a730090..0000000
--- 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 889794b..702f9fa 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 64d39d3..0000000
--- 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 c321f19..0000000
--- 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 5886013..22f3b29 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 3d297d7..0000000
--- 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 0000000..830f16a
--- /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 c321f19..0000000
--- 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 81d6764..ae8cfb5 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 64d39d3..0000000
--- 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 0000000..b2fda36
--- /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 c321f19..0000000
--- 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 57b3db3..bbf7c47 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 6259f5a..63696c0 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 aa498b4..0000000
--- 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 41ca0c1..0000000
--- 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 9350f59..f6ee918 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 1bac559..0000000
--- 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 0000000..4bbfcb2
--- /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 41ca0c1..0000000
--- 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 acf2098..592ec65 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 832e37c..ba1af3c 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 5f34add..0000000
--- 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 0000000..f91912f
--- /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 6452ee5..0000000
--- 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 8c4d923..c6fb796 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 d42aa40..0000000
--- 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 990dc34..0000000
--- 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 0000000..d7829c8
--- /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 5d0728d..0000000
--- 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 aa498b4..0000000
--- 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 0000000..762091f
--- /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 41ca0c1..0000000
--- 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 aa498b4..0000000
--- 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 74a545c..0000000
--- 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 bb1ca7d..7feb035 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 0000000..491a041
--- /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 e962582..0000000
--- 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 0000000..545c7a6
--- /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 09ccd08..0000000
--- 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 f4cfd8f..0000000
--- 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 2eda607..0b0ad4d 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 c3ef476..e782f65 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 7ebfa07..ed0b4d5 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 5afbc69..368d8b0 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 6440b3d..7aa076f 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 b9b0e57..31fa5d0 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 02f6052..0000000
--- 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 5ade214..0000000
--- 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 134da30..0000000
--- 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 5b37194..0000000
--- 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 fd2d00e..3e138fa 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 7498f4d..8258897 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 90cab40..0fde17c 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 d110b79..1e4ea97 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 3672fed..0000000
--- 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 c16fdfd..0000000
--- 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 41ca0c1..0000000
--- 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 4e7b0c4..2e64dcc 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 1e6557a..0000000
--- 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")
-
-
-- 
GitLab