Help, mijn bits zijn rot!

Begeleiders:

In de biologie wordt aftakeling erkend als een essentieel element van de natuurlijke cyclus. Zo worden verbindingen tussen hersencellen die niet regelmatig gebruikt worden, langzaamaan zwakker tot ze uiteindelijk helemaal verdwijnen. Op software niveau bestaat een dergelijk concept tot op heden niet.

Toch zijn er vandaag de dag reeds heel wat technieken die gebruik maken van informatie over welke verbindingen er bestaan in je software. Een voorbeeld dat je je waarschijnlijk herinnert, is het beheer van het door je programma gebruikte geheugen. De bedoeling hierbij is om objecten die niet meer gebruikt worden automatisch op te ruimen. Er bestaan garbage collectors die toelaten om sommige verbindingen te verwijderen (zgn. weak pointers). Op dit moment is dit echter een binaire eigenschap (een verbinding is ofwel Weak of Strong).

Andere programma's redeneren over het gebruik van bepaalde verbindingen, bijvoorbeeld om vaak gebruikte objecten verder te optimalizeren (zgn. dynamic compilation). In principe laten deze technieken toe om niet alleen vaak gebruikte objecten te identificeren maar ook om inactieve objecten aan te duiden.

Het idee achter dit thesis voorstel is het uitwerken van een model van aftakeling voor objecten in object-georiƫnteerde software. De bedoeling is dat je een model uitwerkt om verbindingen die niet vaak worden gebruikt te verzwakken zodat je ervoor kan zorgen dat deze aan belang verminderen in je systeem. Uiteraard moet dit gekoppeld worden aan manieren om deze objecten opnieuw aan te maken indien nodig.

Concreet zal je tijdens je stage gevraagd worden om de notie van vergankelijke verbindingen te introduceren in AmbientTalk, een op PROG ontwikkelde programmeertaal die de nodige voorzieningen aanbiedt om te redeneren over de bestaande verbindingen in een stuk software. Op basis van dit onderzoek kan je in je thesis een toepassing van deze technieken uitwerken.