Model-driven architecture
Model Driven Architecture is een methode voor het ontwikkelen van software die gedefinieerd is door de Object Management Group (OMG). Kenmerkend is het gebruik van formele modellen tijdens het ontwikkelproces.
Modellen
Een model is een voorstelling van functies, structuur en gedrag van een systeem.
Elk systeem wordt in een bepaalde omgeving gebruikt. Deze wordt gemodelleerd in een Computation Independent Model (CIM). Enkele kenmerken van een dergelijk model zijn:
- Het verbergt veel informatie die handelt over het gebruik van een softwaresysteem.
- Het is onafhankelijk van hoe een systeem geïmplementeerd wordt.
Het MDA framework omvat drie abstractieniveaus van een softwaresysteem, die formele modellen zijn:
Transformaties
De transformaties tussen de formele modellen staan centraal in het MDA framework. Het zijn automatische generaties vanuit een bronmodel naar een doelmodel volgens een bepaalde definitie. Deze transformatiedefinitie bestaat uit regels die de transformatie van een model in brontaal naar een model doeltaal beschrijven.
De bron- en doelmodellen kunnen zowel in dezelfde, als in verschillende talen geschreven zijn. Een transformatietaal is een taal waarin transformatiedefinities geschreven worden. Dit is een metataal (zoals UML) die op zijn beurt ook in een metataal is geschreven.
Transformaties worden binnen het MDA framework door bepaalde tools uitgevoerd. Omdat het framework nog in ontwikkeling is, zijn er nog geen tools beschikbaar die het transformatieproces volledig ondersteunen.
Er zijn drie types transformaties:
- Van en naar modellen van hetzelfde abstractieniveau.
- Van een model op hoger abstractieniveau naar een model op lager abstractieniveau.
- Van een model op lager abstractieniveau naar een model op hoger abstractieniveau.
Metaniveaus
Een CIM kan worden geschreven in eender welke modelleertaal. PIM's en PSM's worden in een formele modelleertaal geschreven, met UML als standaard.
OMG gebruikt voor zijn standaarden een architectuur die uit 4 lagen bestaat en binnen het MDA framework ook een rol speelt. Deze lagen zijn:
- M0 : de instanties van de klassen(objecten)
- M1 : de modellen van het softwaresysteem
- M2 : de metamodellen
- M3 : de meta-metamodellen
De elementen op lager liggende lagen zijn telkens instanties van een element op een bovenliggende laag.
Literatuur
- Anneke Kleppe ea (2003), MDA Explained, The Model Driven Architecture: Practice and Promise, Addison-Wesley, 2003, ISBN 0-321-19442-X
- Steve Mellor ea (2004) MDA Distilled, Principles of Model Driven Architecture, Addison-Wesley Professional, ISBN 0-201-78891-8
Externe links
- (en) De officiële MDA Guide Versie 1.0.1
- (en) MDA Website van de OMG.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.