Specifikation av examensarbete på SaabTech
Extending an Asynchronous Distributed Object Database with CORBA Interfaces, Automatically Synthesized from a High-level Model

Frej Drejhammar <fdr@infomatics.saab.se>

1  Bakgrund

Företaget SaabTech Systems utvecklar ledningssystem och eldledningssystem. Dessa karaktäriseras av realtidskrav och omfattande interaktion mellan systemet och operatören. För att garantera goda realtidsegenskaper har operatörsplatsprogramvaran separerats från applikationsplatsprogramvaran genom ett mellanlager. Lagret består av MMI-objekt som görs tillgängliga via en egenutvecklad, distribuerad realtidsdatabas kallad COOB. Kommunikationen mellan applikationsprogram och MMI-program sker via COOB vilket gör att asynkroniteten i systemet kan hanteras.

Tidigare var operatörsplatsprogramvaran i huvudsak implementerad som resursdrivna program, där resurser i form av specialanpassade källscript styrde exekveringen av MMI-program för hantering av grafisk lägesbild, formulär och TID (Touch Input Device). I och med att funktionaliteten i kommersiella MMI-element (widgets) ökat så har underhållskostnaden för att uppdatera dessa generella, konfigurerbara MMI-program växt. Detta gör att användningen av specialskrivna MMI-program kommer att öka i framtiden. Tidigare långa kompilerings- och länkningstider för hela system (-72h) har lett till att konfigureringsmekanismer som inte kräver kompilering och länkning har prioriterats. Ett problem med denna utveckling är dock att gränsytan mot COOB ej är särskilt lämplig för att ett stort antal programmerare ska skriva egna MMI-program.

2  Problemformulering

För att tillåta framtida utveckling av direktskrivna MMI-program måste det bli möjligt att lätt implementera nya applikationer och MMI-program samt att addera nya MMI-objekt till systemet. Detta måste göras på ett sätt så att den den existerande infrastrukturen, COOB, kan behållas. Detta examensarbete ska presentera en lösning på ovanstående problem.

3  Mål

Examensarbetet syftar till att analysera existerande funktionalitet för specifikation av MMI-objekt och att sedan konstruera, implementera och testa produktivitetshöjande verktyg för MMI-implementation. Verktygen skall operera på en informationsmodell, gjord i Rational Rose, av databasens MMI-objekt och producera den kod som behövs för att koppla MMI-program och applikationer till MMI-objekt i databasen med ett CORBA-gränssnitt. Ett annat syfte med examensarbetet är att visa realiserbarhet för ett informationsmodellcentrerat arbetssätt genom att gå igenom processen med informationsmodellering, kodgenerering och exekvering för de vanligaste MMI-objektmekanismerna.

4  Tillvägagångssätt

Informationsmodellering av MMI-objektsdatabasen görs i Rational Rose. Rational Rose används för att generera CORBA IDL:er. Dessa IDL:er används av det egenutvecklade verktyget för att generera konfigurationsdata för COOB, kod som implementerar ett CORBA-gränssnitt ovanpå COOB samt skelettkod för MMI- och applikationsprogram.

Verktygets funktion demonstreras genom att en MMI-applikation skrivs i Ada och att ett MMI-program skrivs i Java.

5  Tillgång till speciell utrustning som krävs för exjobbet

Utvecklingsmiljö och målmiljö för tester anskaffas genom SaabTech Systems försorg. C:a 200kSEK kommer att behövas för nödvändiga licenser.

6  Begränsningar

Examensarbetets tyngdpunkt ligger på framtagandet av det verktyg som beskrivits i avsnitt 4, mindre tyngd läggs på informationsmodellering.

I händelse av tidsnöd prioriteras genomlöpande av hela processen på bekostnad av kompletthet avseende MMI-objektmekanismer.

7  Litteraturstudie

Litteraturstudien omfattar artiklar om kodgenerering från objektmodelleringsspråk samt en översikt av CORBA i realtidsystem.

Studien redovisas som en skriftlig översikt, på engelska, av metoder att automatgenerera programkod från högnivåmodelleringsspråk. Den tar även upp vad som tillhandahålls av realtids-CORBA. Tanken med att läsa artiklarna om UML är att få en bakgrund till informationsmodelleringen i Rational Rose samt möjligheter till kodsyntes från UML. Avsikten är att delar av denna studie ska gå att återanvända för exjobbsrapporten.

De artiklar som ingår i litteraturstudien finns under rubriken Referenser.

References

[]
Bell, Alex E. and Schmidt, Ryan W. 1999. UMLoquent expression of AWACS software design. Communications of the ACM , 42(10):55-61.

[]
Engels, Gregor and Groenewegen, Luuk. 2000. Object-oriented modeling: a roadmap. Proceedings of the 22nd International Conference on The future of Software engineering 2000, 103-116.

[]
Schmidt., D.G.; Kuhns, F. 2000. An overview of the Real-Time CORBA specification. Computer, 33(6):56-63.

[]
Thatté, Satish R. 1994. Automated synthesis of interface adapters for reusable classes. Papers presented at the ACM SIGPLAN-SIGACT symposium on Principles of programming languages January 16 - 19, 174-187.

[]
Xiaoping Jia; Skevoulis, S. 1998. Code synthesis based on object-oriented design models and formal specifications Computer Software and Applications Conference, 1998. COMPSAC '98. Proceedings. The Twenty-Second Annual International, 393-398.

8  Preliminär disposition för rapporten

Rapporten skrivs på engelska och har titeln . En preliminär disposition av rapporten med en beskrivning av vad kapitlen ska behandla finns nedan.

Abstract
En kortfattad beskrivning av de viktigaste problemställningarna och resultaten i rapporten.

Index

Introduction
 

Background
Avsnittet ger en översiktlig bakgrund till i vilket sammanhang examensarbetet utförs och vilket problem det försöker lösa.

Purpose
Beskriver målet med examensarbetet d.v.s. vilka verktyg och metoder som måste tas fram.
Delimitations
Har tar jag upp de begränsningar som gäller för mitt arbete, i huvudsak de som finns i avsnitt 6 i detta dokument.

Problem Statement
En noggrann beskrivning av problemet med komplicerade interface för MMI-program och applikationer.

Methods
En beskrivning de metoder jag har valt för att lösa problemet. I motiveringen av mitt metodval utnyttjar jag materialet från litteraturstudien.

Presentation and Discussion of Results
Här beskriver jag de verktyg och den metod som jag har tagit fram: funktion hos verktygen, enkelhet för användaren, kvaliteten på den genererade koden.

Conclusions
En sammanfattning av de viktigaste resultaten: Förhoppningsvis att det går att automatgenerera kod av tillräckligt hög kvalitet från ett högnivåmodelleringsverktyg.

Future Work
I det fallet att inte allt som nu står i specifikationen kan implementeras kan detta tas upp här. Även idéer till förbättringar av verktyg och metoder kan tas upp i detta avsnitt.

References

9  Tidsplan

  1. Inläsning: CORBA, Ada, COOB, artiklar för litteraturstudie. Rapport: Litteraturstudien skrivs. v 36-39.
  2. Integration av ORB i utvecklingssystemet. Rapport: Introduction skrivs. v 40-42.
  3. Modellering av MMI-objekt i Rational Rose. v 43.
  4. Analys av existerande funktionalitet i COOB. Rapport: Problem Statement. v 44-45.
  5. Uppdelning av funktionalitet mellan tillägg i COOB, fix/genererad skelettkod. Rapport: Methods. v 46-47.
  6. Implementation av IDL-parser och kodgenerering. Rapport: Presentation and Discussion of Results. . v 48-51.
  7. Test och verifiering, implementation av MMI-applikation och MMI-program. Rapport: Conclusions. v 2-5.


File translated from TEX by TTH, version 2.20.
On 26 Sep 2000, 08:50.