Master-/Diplomarbeit: Implementierung des !CoBox-Modells in Scala
Motivation
Dank Moore’s Law konnten sich Programmierer die letzten Jahrzehnte lang darauf verlassen, dass sich die Geschwindigkeit ihrer einmal geschriebenen Programme alle 2 Jahre verdoppelten. Die Zeiten haben sich nun geändert. Zwar verdoppelt sich die Transistordichte immer noch alle 2 Jahre, Moore hat also immer noch recht, allerdings resultiert dies nicht mehr in höheren Taktraten, sondern, neben niedrigerem Energieverbrauch, vor allem in Mehrkern-Architekturen. In dieser neuen Welt werden nur noch Programme schneller, die nebenläufig geschrieben sind. Die heute aktuellen Mainstream-Programmiersprachen wie Java oder C# sind auf diese Situation schlecht vorbereitet. Das Nebenläufigkeitsmodell dieser Sprachen basiert auf Threads, die auf einem gemeinsamen Speicher arbeiten. Um data races zu verhindern müssen einfache Konzepte wie Locks oder Monitore verwendet werden. Der Einsatz dieser Sprachmittel ist allerdings sehr fehleranfällig und vor allem nicht modular.
Aufgabenstellung
In der Arbeitsgruppe Softwaretechnik ist aus diesem Grund ein neues Nebenläufigkeitsmodell entwickelt worden. Es basiert auf so genannten
Vorkenntnisse
Gute Kenntnisse der Objekt-Orientierung im Allgemeinen sind Grundvoraussetzung. Weiterhin sind Kenntnisse nebenläufiger Programmierung von großem Nutzen.