Hardware/Software co-design

213012  (English version of this page)

Home

Call for papers

Colloquia

Program 2005

Contact

Inleiding

Hardware / software co-design (vakcode 213012) is een keuzevak voor de opleidingen  INF en EL. Voor zowel EL als  INF is het aantal ECTS 5.

Co-design is het tegelijkertijd en afhankelijk van elkaar ontwerpen van zowel de hardware als de software van ingebedde computersystemen ('embedded systems'), waarbij uitgaande van een gemeenschappelijke specificatie een optimale verdeling van functies over software voor standaard microprocessors en signaalprocessors, software voor applicatie-specifieke processors en 'special purpose' hardware wordt gezocht. Hierbij moet een afweging worden gemaakt tussen onder andere prestaties (snelheid), vermogen, afmetingen, prijs, ontwerptijd, betrouwbaarheid en oplage. Co-design is een relatief nieuw vakgebied waarin nog geen standaard oplossingen en methodes beschikbaar zijn. Dit vak probeert dan ook vooral inzicht in de problematiek te geven en de diverse invalshoeken te laten zien van waaruit deze problematiek kan worden benaderd. Diverse vakgebieden uit de informatica komen hierbij aan de orde, zoals: specificatie, prestatie-analyse, simulatie, computerarchitectuur, hardware-synthese, software-synthese, compilers (codegeneratie) en 'operating systems'.

Er is een zeer grote markt voor 'embedded systems' met diverse toepassingsgebieden, zoals telematica, 'consumer electronics' (tv, video, audio), auto's, medische apparatuur, huishoudelijke apparatuur, robotica en allerhande (industriële) besturingen. Voor het ontwikkelen en ontwerpen van deze systemen is, naast voldoende inzicht in het toepassingsgebied, kennis van en inzicht in het ontwerpen van zowel hardware als software vereist.

Leerdoel

Doel van dit vak is dat de student een globaal inzicht verwerft in de problematiek van hardware / software co-design, kennis maakt met diverse invalshoeken voor de aanpak van deze problematiek en begrip krijgt voor de samenhang tussen de diverse voor co-design van belang zijnde vakgebieden uit de informatica. Daarnaast heeft de student door een literatuurstudie zelfstandig een onderdeel van het vakgebied diepgaand bestudeerd.

Een ander doel is om kennis te nemen van het doen van research, en daadwerkelijk een klein onderzoek te verrichten, met de diverse aspecten die daarbij een rol spelen.

Aan het eind van de cursus dienen studenten inzicht te hebben in wat het vakgebied behelst, in staat zijn om voor een aantal specifieke deelgebieden oplossingen voor bepaalde problemen te kunnen begrijpen en uitleggen, en in staat zijn om een klein onderzoek op te zetten, uit te voeren, en te presenteren

Voorkennis en relatie tot andere vakken

Naast de voor INF verplichte vakken Computerorganisatie, Besturingssystemen, Systeemprogrammering, Computerarchitectuur en Vertalerbouw is er geen voorkennis noodzakelijk. Voor studenten van andere opleidingen dan INF is voldoende inzicht in de in deze vakken behandelde stof noodzakelijk.

Onderwijsvorm

Gedurende het trimester wordt kennis genomen van het onderwerp via een aantal colloquia, en wordt een onderzoeksproject uitgevoerd in een klein groepje (3-6 studenten). In dit onderzoeksproject wordt een redelijk compleet research-traject gevolgd, waarbij een Call for Papers’ voor een workshop te houden aan het eind van het trimester de richtlijn is. Onderwerpen binnen zo’n traject kunnen zijn: probleemdefinitie, doel, literatuurstudie, ontwerp, simulatie, analyse, proef. Het resultaat van het project dient een paper te zijn die op de workshop in week 10 gepresenteerd dient te worden.

De colloquia zullen gaan over een aantal specifieke gebieden van Hardware/Software co-design, en gegeven worden door een aantal interne en externe sprekers. Aanwezigheid is verplicht.

Toetsing zal plaatsvinden door beoordeling van een eventuele demonstratie, de voordracht, en de paper. Indien de paper externe publicatie potentie bezit, en het wordt geaccepteerd bij een journal of conferentie, wordt het cijfer 10 verkregen. (Het cijfer wordt dan met terugwerkende kracht omgezet.)

Writing papers

There are many resources on the matter. In particular there is an excellent website maintained by Toby Walsh with loads of links on scientific writing, on presenting scientific articles, etc. http://www-users.cs.york.ac.uk/~tw/phd/

My favorite two links are the following ones:

·         How to have your abstract rejected, by Mary-Claire van Leunen and Richard Lipton. http://www.acm.org/sigplan/conferences/author-info/vanLeunenLipton.html

·         Author Information for ACM SIGPLAN Conferences http://www.acm.org/sigplan/conferences/author-info/

Other links I found.

·         How NOT to write a paper. by Oded Goldreich. http://www.wisdom.weizmann.ac.il/~oded/writing.html

·         How to Write A Paper in Scientific Journal Style and Format, by Greg Anderson. http://abacus.bates.edu/~ganderso/biology/resources/writing/HTWtoc.html

·         How to Write a Scientific Paper, by E. Robert Schulman http://members.verizon.net/~vze3fs8i/air/airpaper.html

Zie ook de sheets van de introductie.

For suggestions or comments, send mail to Jan Kuper of Gerard Smit