22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.1. HAT 47<br />

Figuur 4.1: Architectuur van de Agile MDA Tool<br />

Figuur 4.1 geeft een overzicht van de architectuur van dit Agile MDA tool. De modeltransformatie<br />

en codegeneratie gebeurt aan de hand van de UML proelen. Deze proelen<br />

moeten eerst in de UML editor ingeladen worden. Binnen zo'n proel speciceert men een<br />

representatie van een UML model en hoe het model getransformeerd moet worden.<br />

De interactive prole editor biedt een interface om UML proelen te denieren en bewerken.<br />

Deze laat ons toe om zowel modelelementen binnen een domein te denieren als om<br />

beperkingen en codegeneratoren over dit domein te speciceren.<br />

De run-time OCL constraints die in het model zitten mogen ook geëvalueerd worden. Men<br />

moet gewoon voor elke OCL constraint op het UML model de functie GenerateCode() oproepen<br />

die drie argumenten meekrijgt. De eerste is een stringwaarde die de operatie bevat<br />

om een generator op te roepen, de tweede is het tekstbestand waarin de gegeneerde code geschreven<br />

zal worden en de derde is een stringwaarde die gebruikersgedenieerde inhoud bevat<br />

(bijvoorbeeld contextinformatie). We mogen verschillende generatoren voor dezelfde run-time<br />

OCL expressie meegeven indien dat nodig is. Deze operatie transformeert de run-time OCL<br />

expressie naar een expressieboom. De elementen in deze boom zijn OCL modelelementen<br />

die aan het OCL metamodel corresponderen. Dit metamodel denieert verschillende soorten<br />

van OCL expressiemeta-elementen: literalen, if-expressie, let-expressie, enz. Een deel van het<br />

OCL metamodel is te zien in Figuur 4.2. De meegegeven generator aan de GenerateCode()<br />

operatie gaat vervolgens schrijvers voor elk OCL modelelement oproepen. Deze schrijvers<br />

zullen eigenlijk de code voor onze applicatie produceren voor de gegeven OCL expressies.<br />

In volgende sectie zullen we de vertaling van run-time OCL expressie naar JAVA bespreken<br />

met behulp van het HAT tool van E2S.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!