Artikel från Chalmers tekniska högskola

Den här artikeln bygger på ett pressmeddelande. Läs om hur redaktionen jobbar.

12 april 2001

Genererande program gör jobbet

Ett sätt att förenkla arbetet med mjukvara är automatisk generering av datorprogram. Detta sker med hjälp av partialevaluering. I sin doktorsavhandling vid Chalmers har Rogardt Heldal vidareutvecklat denna teknik till att hantera fler delar programspråket än tidigare.

Att utveckla stora program är ett komplext problem. Detta har medfört att felaktiga program utvecklas, kostnaden blir högre än beräknat och att en del projekt aldrig blir färdiga. En lösning är att använda mer av datorns kapacitet under utvecklingen av program. Vi människor är duktiga på att lösa komplexa uppgifter och datorn är bättre på att utföra rutinmässiga uppgifter. En teknik att låta datorn arbeta mer är partialevaluering, som kan användas om man vill utveckla program för system som liknar varandra. Istället för att skriva ett program för varje system, utvecklar man ett allmängiltigt, generellt, program som klarar av alla dessa system.

Generella program har som regel lägre prestanda än om man utvecklat ett speciellt program för varje system. Men genom partialevaluering kan man också automatiskt generera ett specifikt program från det generella programmet. Det automatiskt genererade programmet får då ofta motsvarande prestanda som ett manuellt, specialanpassat program.

Att skriva det generella programmet kräver ofta lika stor arbetsinsats som att skriva ett specifikt program, men behöver bara göras en gång. Poängen är att man sedan bara har ett program att underhålla och modifiera.

Tidigare klarade partialevalueringar bara av att hantera ett program som en enhet, det vill säga en modul. Detta är en orealistisk situation, eftersom de flesta system består av flera moduler. I Rogardt Heldals doktorsavhandling ingår lösningar på hur man klarar av att hantera flera moduler. I doktorsavhandlingen ingår också detaljerade studier av hur man kan hantera så kallade polymorfa typer. Dessa är mycket användbara när man skriver generella program.

Avhandlingen “The Treatment of Polymorphism and Modules in a Partial Evaluator” försvaras vid en offentlig disputation onsdagen den 18 april kl 10.15 i Hörsalen på Matematiskt centrum, Eklandagatan 86, Göteborg.

För mer information kontakta:
Rogardt Heldal, Institutionen för datavetenskap, Chalmers tekniska högskola och Göteborgs universitet. tel 772 54 08, e-post: heldal@cs.chalmers.se

Nyhetsbrev med aktuell forskning

Visste du att robotar som ser en i ögonen är lättare att snacka med? Missa ingen ny forskning, prenumerera på vårt nyhetsbrev!

Jag vill prenumerera