Dankwoord - martes
Dankwoord - martes
Dankwoord - martes
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