Aaron Fischer Ingenieur, Vater, Heimwerker, Problemlöser

01 März, 2008

Lively Analyse

TL;DR:

Im Rahmen des Fachs Modellierung von Software Architekturen untersuchte ich zusammen mit meinem Kommilitonen Florian Eitel das zu diesem Zeitpunkt (Winter 07) veröffentlichte Researchprojekt Lively von Sun Microsystems. Unsere Ergebnisse haben wir vorgestellt und in einem Dokument festgehalten.

Der Lively Kernel ist ein Researchprojekt von Sun Microsystems. Das Projekt soll Desktopanwendungen in den Browser bringen. Dazu verwendeten Sie ausschließlich JavaScript als Programmiersprache und SVG-Objekte zur grafischen Darstellung. Die Entwickler (unter der Führung von Dan Ingalls) haben viele Elemente von Squeak in die hochdynamische Plattform einfließen lassen, was man vor allem am Morph-Konzept merkt.

Um den Code besser analysieren zu können und einen Überblick zu erhalten, haben wir uns an einem kleinen Parser versucht. Wir ließen uns zur Laufzeit (des Lively Kernels) alle instanziierten Klassen mit Methoden und Attributen ausgeben und erstellten daraus eine XML-Datei die wir weiterverwendeten um einen Klassenbrowser zu erstellen. Die geplante grafische Ausgabe der Abhängigkeiten ließen wir aus Zeitgründen sein.

Da der eigentliche Sourcecode nicht direkt downloadbar war, habe ich ein kleines Script geschrieben, welches den kompletten Code von der Webseite crawled und zusammen mit firebug light zu einem downloadbaren Archiv verpackt. Da es uns natürlich sehr interessierte ob und wann die Core-Entwickler Änderungen am Code vornehmen lief das Script einmal täglich und erstellte einen Vergleich (diff) zwischen dem aktuellen und dem vorherigen Sourcecode.

Unsere Analyse gibt einen Überblick über das System und deren Konzepte. Es werden Spezialthemen wie das Eventhandling oder das MVC-Konzept beschrieben und anhand eines Codebeispiels erläutert.