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
- Inläsning: CORBA, Ada, COOB, artiklar för
litteraturstudie. Rapport: Litteraturstudien skrivs. v 36-39.
- Integration av ORB i utvecklingssystemet. Rapport:
Introduction skrivs. v 40-42.
- Modellering av MMI-objekt i Rational Rose. v 43.
- Analys av existerande funktionalitet i COOB. Rapport: Problem
Statement. v 44-45.
- Uppdelning av funktionalitet mellan tillägg i COOB,
fix/genererad skelettkod. Rapport: Methods. v 46-47.
- Implementation av IDL-parser och kodgenerering. Rapport:
Presentation and Discussion of Results. . v 48-51.
- 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.