Kunden
Falconprojektet har som kund AlfaLaval Automation, tidigare Satt Control. Man utvecklar och säljer ett system för fabriksautomation och processtyr ning, SattLine.

Bakgrund
SattLine är ett distribuerat realtidssystem. I ett nätverk finns dels ett antal styrdatorer av olika fabrikat, dels operatörskonsoller (PC med Windows NT). På dessa maskiner kan en utvecklingsmiljö användas för att med ett grafiskt gränssnitt specificera de styrprogram som ingår i systemet. Dessa styrprogram kan sedan skickas till valfri dator i systemet för exekvering. Ett runtime-system skrivet i pascal anropar dessa styrprogram, ofta sker detta periodiskt.
Output från SattLines grafiska miljö är kod i ett ganska simpelt högnivå språk med flat struktur. Beroende på vilken dator som väljs att köra aktu ellt styrprogram, kompileras detta till rätt sorts maskinkod, och skickas som ett datapaket till aktuell maskin vars runtimesystem laddar modulen och sedan anropar den med önskad periodicitet.

Vårt uppdrag
Det finns kompilatorer för ett flertal arkitekturer inklusive Intel, Alpha, Motorola HC11 och MC68020. Kodgenereringen är dock primitiv och ingen optimering utförs. Man vill genom Falconprojektet undersöka hur stora vinster optimering av koden kan erbjuda.
För att begränsa uppdragets storlek har man valt att utgå från existerande frontend och mellankodsformat, samt att begränsa genererad kod till i för sta hand två format: Optimerad mellankod, samt 68020 binärkod. I upp draget ingår dock att kodgeneratorn skall vara så generell det överhuvud taget är möjligt. Att återanvända koden vid konstruktion av kodgenerator för andra miljöer skall alltså vara möjligt.

Projektmedlemmar, del 1
Mathias Malmqvist (Projektledare)
Mats Grahm
Magnus Vigerlöf
Johan Karlsson
Dan Andersson
Projektmedlemmar, del 2
Jonas Nilson
Martin Esping
Linus Girdland
Piotr Gora
Magnus Karlsson


Gjord av Magnus Vigerlöf 1996-09-23.