Falconprojektet har som kund AlfaLaval Automation, tidigare Satt Control. Man utvecklar och säljer ett system för fabriksautomation och processtyr ning, SattLine. |
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. |
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. |
|