22.11.2013 Views

Dankwoord - martes

Dankwoord - martes

Dankwoord - martes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Hoofdstuk 1<br />

Inleiding<br />

1.1 Situering<br />

De computer industrie is continu op zoek naar manieren om de productiviteit en kwaliteit van<br />

software ontwikkeling te verbeteren. In de vrij korte geschiedenis van software engineering<br />

hebben we al verschillende aanpakken gezien. Voorbeelden daarvan zijn Object-georiënteerdeontwikkelingen,<br />

Component-gebaseerde- ontwikkelingen, design patterns.<br />

Modelgedreven ontwikkeling (MDD) zou ook een belangrijke bijdrage in het proces van software<br />

ontwikkeling kunnen leveren. Een van de belangrijkste doelstellingen van het MDD is<br />

om het niveau van programmeerabstractie te verhogen zodat ontwikkelaars applicaties met<br />

minder moeite kunnen ontwikkelen. In plaats van applicaties in talen zoals JAVA en C++ te<br />

schrijven, creëren ontwikkelaars applicaties met behulp van specieke, hoogniveau programmeerconstructies.<br />

Dit soort constructies noemt men modellen. Deze software modellen hebben<br />

een centrale rol in het MDD ontwikkelingsproces.<br />

In MDD kan men speciceren hoe modellen gedenieerd in een taal naar modellen van een<br />

andere taal mogen getransformeerd worden. Modelleertalen worden in MDD als ontwikkelingsartefacten<br />

gebruikt veeleer dan enkel als ontwerpmiddelen. Uit een abstract model van<br />

een systeem wordt een meer concreet model gegenereerd. Uit dit model wordt dan nog een<br />

meer concreet model gegenereerd. Dit proces wordt meerdere keren uitgevoerd tot uiteindelijk<br />

het laagste niveau van abstractie bereikt is. Van deze laagniveau modellen wordt de broncode<br />

geproduceerd. Hierbij is codegeneratie niets meer dan een andere vorm van transformatie.<br />

Modelgedreven architectuur (MDA) [20] is eigenlijk een concreet voorbeeld van MDD. Het is<br />

een initiatief van Object Management Group (OMG) [16] dat een consortium van bedrijven en<br />

gebruikers is. De OMG heeft bovendien verschillende standaarden (UML, OCL, ...) ontwikkeld<br />

om MDD te kunnen implementeren.<br />

MDA is een verdere stap in de evolutie van het software ontwikkelingsproces. MDA is een<br />

raamwerk voor software ontwikkeling. Modellen krijgen een hoge prioriteit binnen het proces<br />

van software ontwikkeling. Anders gezegd wordt het ontwikkelingsproces gedreven door de<br />

modelleeractiviteit. Hierbij maakt men onderscheid tussen platformonafhankelijke modellen<br />

(PIM) en platformafhankelijke modellen (PSM). PIMs zijn op een hoogniveau van abstractie<br />

gebouwd en bovendien onafhankelijk van een set van implementatie technologieën. Voorbeelden<br />

daarvan zijn J2EE en .NET. PSMs zijn het resultaat van de transformatie van de<br />

1

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

Saved successfully!

Ooh no, something went wrong!