Bild
Mjukvaruarkitekter samarbetar i ett projekt
Vilka är mjukvaruarkitekternas utmaningar och behov – och vad kan det finnas för lösningar för att understödja processen?
Foto: ChiangMai
Länkstig

Att förstå och understödja processen kring mjukvaruutveckling

Publicerad

Rodi Jolak från Syrien är doktorand inom Software Engineering. Rodis forskningsfokus handlar om att förstå hur mjukvaruarkitekter kommunicerar och samarbetar under processen med att utveckla ny mjukvara. Vilka är mjukvaruarkitekternas utmaningar och behov – och vad kan det finnas för lösningar för att understödja processen?

Vad handlar ditt forskningsområde om?

Bild
Rodi Jolak, doktorand inom software engineering
Den höga graden av frihet och känslan av att ständigt få utveckla nya färdigheter tillhör det som Rodi uppskattar mest med att arbeta i forskarvärlden.
Foto: Catharina Jerkbrant

– Min forskning fokuserar på mjukvarudesign och modellering, säger Rodi Jolak. Målet för min avhandling är att förstå och stödja utvecklarnas process och samarbete när de designar mjukvara.

– När ett nytt mjukvarusystem ska tas fram startar processen med att analytikerna i projektet samlar in alla kravspecifikationer från kunden. Kravspecifikationerna ligger till grund för designbesluten när det gäller mjukvarans struktur och beteende. Mjukvaruarkitekterna dokumenterar även dessa designbeslut genom att skapa arkitektperspektiv – ofta i form av UML models. UML står för ’Unified Modeling Language’ och är helt enkelt en standard för att modellera mjukvarusystem. De dokumenterade designbesluten – modellerna – förmedlas till programmerarna som en guide för implementeringen. När modellerna är tillräckligt noggrant specificerade och detaljerade kan programmerarna använda sig av dessa för att automatiskt generera kod.

– Jag vill försöka förstå hur mjukvaruarkitekterna kommunicerar och samarbetar när de skapar sina designbeslut. Jag undersöker de utmaningar som finns kring designen och även arkitekternas behov. Utifrån min forskning kan jag sedan föreslå nya lösningar för att understödja hela processen vid mjukvarudesign.

Varför är det så viktigt att studera det här?

Mjukvaruarkitektur är A och O för dagens mjukvarusystem. En bra arkitektur kan få små, energisnåla kretsar att göra avancerade beräkningar. En arkitektur som är dåligt designad gör att vi behöver stora och energikrävande datorer för små beräkningar.

– En ny typ av processor är grafikprocessorn, GPU, vilken är runt 70 gånger mer energieffektiv än en centralprocessor, CPU. GPU-processorer kan användas för många olika komplexa beräkningar och inte bara för grafik. Men en övergång till de snabba och vektorbaserade beräkningar som GPU-erna använder sig av, kräver bland annat ny mjukvaruarkitektur och design – och det är där vi behöver göra den största insatsen. Min forskning handlar mycket om hur vi, mjukvaruutvecklare och arkitekter, kommunicerar för att välja rätt typ av processor, mjukvarustruktur, programmeringsspråk och rätt utvecklingsprocess.

Vad fick dig att vilja utbilda dig till forskare?

– Parallellt med mina masterstudier arbetade jag som mjukvaruutvecklare i industrin och kunde jämföra. Främsta orsaken till att jag blev forskare är nog friheten och att mina egna idéer blir den huvudsakliga drivkraften bakom mina beslut och mitt arbete. Ett annat skäl är att du som forskare hela tiden bygger och stärker de färdigheter du redan har på ett mycket konkret sätt – och du utvecklar nya färdigheter. Du förbättrar din förmåga att analysera problem och utforska och utvärdera lösningar. Du utvecklar din förmåga att kommunicera och att skriva forskningsartiklar, eftersom du vanligtvis samarbetar tätt med andra forskare och lär dig mycket av dem.

– En doktorsexamen är också i mycket bokstavlig form ett projekt och du blir definitivt en bra projektledare. Du definierar dina mål och planerar hur du ska uppnå dessa mål. Du lär dig hur du sätter milstolpar, hanterar risker och utvärderar dina doktorandresultat.

 Hur blev du doktorand just i Sverige?

– Jag är född i Aleppo i Syrien. Jag lämnade landet när jag var 19 år för att först läsa en kandidatexamen i Information Engineering och sedan en masterutbildning i Engineering of Computing Systems vid Politecnico di Milano i Italien. Lite senare började jag söka efter doktorandanställningar och hittade en intressant tjänst vid avdelningen för software engineering här i Göteborg. Jag gjorde en ansökan och efter en tid blev jag kontaktad via Skype av ansvarig professor som ställde en del frågor. Därefter blev jag inbjuden till en fysisk intervju i Göteborg och till slut blev jag den lyckliga person de valde för anställningen.

Hur ser dina planer för framtiden ut?

– Jag har sökt en så kallad postdoc-tjänst i samma miljö där jag just nu arbetar som doktorand, Institutionen för data- och informationsteknik, som är integrerad mellan Chalmers och Göteborgs universitet. Jag föredrar att stanna i Sverige eftersom jag uppskattar kvaliteten på forskningen och även livskvaliteten här. Folk visar respekt, både inom akademin och utanför. Den service man får från universitetet är väldigt fin och administratörerna är alltid redo att hjälpa dig – om du har en fråga får du feedback direkt. Jag håller tummarna för att jag får jobbet här i Göteborg!

 

Intervju: Catharina Jerkbrant, 2019

    Rodi Jolak

    Doktorand vid institutionen för data- och informationsteknik

    Forskningsartiklar i urval: