Entwurf einer EC++-Spezifikation und -Implementierung auf Basis von ISO C

Student:Christoph Dietze
Title:Entwurf einer EC++-Spezifikation und -Implementierung auf Basis von ISO C
Type:diploma thesis
Advisors:Barthelmann, V.; Klemm, M.; Philippsen, M.
State:submitted on July 3, 2006
Prerequisits:

EC++ (siehe http://www.caravan.net/ec2plus ) ist eine eingeschränkte Variante von C++ für eingebettete Systeme. Da viele C++-Konstrukte versteckt großen und/oder ineffizienten Code generieren, wurde eine Untermenge von C++ spezifiziert, die derartige Konstrukte verbietet (z.B. Templates, RTTI oder Mehrfachvererbung).

Die EC++-Spezifikation ist verfasst als Liste von Einschränkungen gegenüber der ISO C++-Spezifikation. Die derzeit verfügbaren Implementierungen von EC++ sind i.d.R. eingeschränkte Versionen von vollen C++-Compilern.

Da EC++ jedoch sehr viel der "schwierigen" C++-Fähigkeiten eliminiert, ist anzunehmen, dass EC++ sowohl bzgl. Spezifikation als auch Implementierung ähnlich nahe an ISO C liegt wie an ISO C++.

Topic:

Im Rahmen dieser Diplomarbeit soll eine alternative EC++-Spezifikation erarbeitet werden, die nicht aus Änderungen des ISO C++ Standards, sondern aus Erweiterungen und Änderungen von ISO C besteht.

Die gänderte C-Spezifikation ist anschließend in einem ISO-C-Compiler zu implementieren und überprüfen. Die erarbeitete Spezifikation ist zusammen mit dem Compiler auf Vollständigkeit zu prüfen. Weiterhin sollen Metriken aufgestellt werden, die es erlauben, die bereits existierende EC++-Spezifikation und die im Rahmen der Arbeit erstellte zu vergleichen und zu beurteilen. Für die Implementierung des EC++-Compilers sind ebenfalls Metriken zu entwickeln, die einen Vergleich zwischen dem EC++-Compiler und dem ursprünglichen ISO-C-Compiler ermöglichen.

Die Ergebnisse der Arbeit sollen sein:

  • EC++ Spezifikation auf Basis von ISO C
  • um EC++ Unterstützung erweiterter C Compiler
  • Erarbeitung von Metriken zur Beurteilung der Spezifikation
  • Vergleich (mit den entwickelten Metriken) der auf C basierenden Spezifikation mit der originalen, auf C++ basierenden
  • quantitative Analyse des Aufwands der Implementierung
watermark seal