Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief

Mda is een paradigmaverschuiving in softwareontwikkeling

05 februari 2004 - 23:008 minuten leestijdAchtergrondGovernance & Privacy
Hans van Thiel
Hans van Thiel

Anneke Kleppe is al vanaf 1995 betrokken bij standaardisatieactiviteiten van de Object Management Group. Ze houdt zich vooral bezig met Object Constraint Language. Ook is ze medeauteur van het eerste boek over ‘modelgedreven architectuur’, een raamwerk voor softwareontwikkeling met abstracte hiërarchieën van modellen. Uiteindelijk zullen volgens Kleppe generieke modellen door één druk op de knop worden vertaald naar werkende code.

  
Anneke Kleppe, directeur van ‘Klasse’ en samen met Jos Warmer verantwoordelijk voor de nieuwe versie 2.0 van Object Constraint Language.
Ontwikkelaars die UML (Unified Modeling Language) gebruiken, zullen Kleppe vooral kennen als coauteur (met Jos Warmer) van Praktisch UML. Minder bekend is dat Warmer één van de grondleggers is van OCL (Object Constraint Language), een onderdeel van de officiële UML-standaard van de OMG (Object Management Group). OCL is, in tegenstelling tot UML, geen grafische maar een formele taal. Warmer en Kleppe zijn voor een groot deel verantwoordelijk voor de nieuwe versie 2.0.
In 2003 hebben zij, behalve over OCL en het gebruik daarvan, ook een boek gepubliceerd over modelgedreven architectuur. Mda (model driven architecture), een initiatief van de OMG, introduceert een raamwerk van pim’s (platform independent model) en psm’s (platform specific model) voor softwareontwikkeling. Het boek MDA Explained, The Model Driven Architecture: Practice and Promise van Kleppe, Warmer en Bast is het eerste ter wereld over dit nieuwe paradigma in software-engineering.
In het dagelijks leven is Kleppe eigenaar/directeur van Klasse in Soest en houdt zij zich bezig met objectgeoriënteerd advies, training en ontwerp.
 
Kun je iets vertellen over de historie en hoe je betrokken bent geraakt bij OMG Standaardisatie?
"Tot 1995 werkte ik bij KPN Research. Ik zag objectoriëntatie als de toekomst. Ik ben vervolgens in 1995 begonnen met Klasse Objecten. Warmer werkte toentertijd voor IBM aan de eerste versie van UML en we werkten veel samen. Resultaten daarvan waren het boek Praktisch OMT en mijn bijdragen aan die eerste UML-versie. Het is nauwelijks bekend dat wij vanaf het eerste uur bij het vaststellen van de standaard betrokken zijn geweest, maar onze namen staan erop als bewijs. Warmer heeft van 1999 tot en met 2002 ook bij Klasse Objecten gewerkt."
 
UML 2.0 is in 2003 door de OMG aanvaard. Komt er een nieuwe uitgave van Praktisch UML?
"De meeste onderdelen van UML 2.0 zijn geaccepteerd, maar het geheel nog niet. Eventuele wijzigingen zullen echter minimaal zijn en de derde editie van ons boek is gepland voor april 2004."
 
In MDA Explained behandel je als voorbeeld een cateringbedrijfje, een ontbijtdienst. Je hebt één platformonafhankelijk model met daaronder drie platformspecifieke modellen. Het ene psm is relationeel, het tweede ejb (enterprise Java bean) en het derde webgebaseerd. De psm’s vertalen naar respectievelijk SQL- (System Query Language), ejb- en jsp-broncode (Java server page). Hoe illustreert dit mda?
"In mda is het uitgangspunt altijd een platformonafhankelijk model. In dit voorbeeld is dat een model dat getransformeerd wordt naar een systeem met een drielagen architectuur, dus drie platformspecifieke modellen en daaronder drie broncode modellen. De code van een (deel)systeem is in wezen ook een model. De database communiceert met de tussenliggende laag en die weer met de webserverlaag. Die communicatie moet je natuurlijk ook modelleren in je platformspecifieke modellen. Het systeem voor de ontbijtdienst is geïmplementeerd in Optimal J van Compuware en de tool en het voorbeeld zijn beschikbaar op de Klasse-website. De belofte van mda is nu dat je dergelijke modeltransformaties, met allerlei varianten of intermediaire modellen, kunt automatiseren. Denk aan tools die parameters voor transformaties kunnen accepteren. Mda gaat over de automatisering van de automatisering en de waarde ervan ligt in de tools voor modeltransformaties."
 
Gaat het dan om automatische transformaties tussen bijvoorbeeld Java en C++ en omgekeerd?
"Niet persé, want met dergelijke omzettingen ben je er nog niet. Het gaat niet om Java, C++ of SQL, maar om verschillende psm’s die met elkaar moeten kunnen samenwerken. Het gaat om een geheel aan platformspecifieke modellen die samen een bepaald architectuursysteem opleveren. Een pim moet dus naar meerdere psm’s omgezet worden en de betere tools doen dat nu ook al. De term ‘platform’ wordt wel vaak opgevat in de zin van implementatie, maar moet volgens mij meer gezien worden in de zin van architectuur. Een platformonafhankelijk model is dus platformspecifiek in een drielagen- of een vijflagen architectuur of nog anders te modelleren."
 
Leveranciers van UML-tools hebben het nu al vaak over ‘round trip engineering’. Als je er dan naar kijkt, blijft het toch beperkt tot eenvoudige ‘stubs’ of signaturen van operaties.
"Dat is niet de schuld van de tools, maar van de beperkte uitdrukkingskracht van de modelleertaal. De OMG werkt aan een executeerbare versie van UML, een uitbreiding waarmee je wel ‘body’s’ kunt specificeren. Daarnaast werkt ze aan QVT (Query, View and Transformation), een taal waarmee je transformaties kunt specificeren. Voor beide geldt dat het nog wel enige tijd zal duren voordat ze toepasbaar zijn. Je hebt wel een ‘UML action semantics’ op basis van ASL (Action Specification Language) die door Kennedy Carter in Engeland is ontworpen en waarmee UML-modellen executeerbaar worden. Dit is ook een officiële OMG-standaard, maar volgens mij staat ASL te dicht bij de hardware om binnen mda bruikbaar te zijn."
 
Liggen hier mogelijkheden voor OCL?
"De tweede versie is sterk uitgebreid en het is nu een volledige zoektaal geworden. Je kunt waarden aanduiden in een systeem en vergelijkingen maken met andere waarden. Daardoor kun je dus pre- en postcondities aangeven, initiële waarden, hoe waarden afgeleid zijn van andere waarden, regels waar operaties aan moeten voldoen enzovoort. In UML is het vaak niet duidelijk hoe objecten met elkaar samenhangen en daarvoor is OCL heel geschikt. Je zou eigenlijk twee dingen moeten toevoegen om op een redelijk hoog niveau acties te kunnen specificeren: ‘assignment’ en creatie van een nieuw object."
 
Je hebt onlangs een plug-in geschreven voor de Eclipse-ontwikkelomgeving. Is dit Octopus ook open broncode?
"Het is wel gratis, althans in de bèta-versie die sinds 1 december 2003 op onze website staat, maar niet open broncode. Octopus is een tool die de nieuwe versie van OCL ondersteunt. We vonden dat de meeste UML-tools onvoldoende maken van OCL, en door in een omgeving als Eclipse te werken, kunnen we zelf de toepassing wereldwijd bevorderen."
 
Doorgaand op de relatie tussen de verschillende mda-modellen, inclusief de werkende code: hoe kun je automatisch van een generieke bij een specifieke beschrijving komen?
"Elk model heeft al specifieke zaken in zich. Er zijn dus weinig echt generieke modellen. Kies je ervoor om een bepaalde klasse op te nemen in je model, dan doe je dat al omdat dit specifiek voor dit systeem nuttig is. Zelfs al is alleen de naam van de klasse bekend, het model is al specifiek. Dit betekent niet dat mda nutteloos is. Bij het implementeren van een UML-model moeten programmeurs vandaag de dag veel dingen doen die telkens terugkomen, zoals het implementeren van een associatie. Met mda-tools is dit saaie werk te automatiseren. Mda staat nog in de kinderschoenen, maar ik denk dat de tijd echt komt dat je met één druk op de knop een platformonafhankelijk model kunt vertalen naar werkende code."
 
Bij mda gaat het om modellen van modellen. Dat lijkt goed te passen in de generieke lagenstructuur van de OMG-standaarden.
"De OMG-standaarden zijn inderdaad op een soortgelijke wijze gestructureerd. Met de mof (meta object facility) specificeer je UML en cwm (common warehouse meta-model), met UML specificeer je een UML-model en dat model specificeert het systeem dat je ontwerpt. Die vier lagen zorgen ervoor dat omzettingen mogelijk zijn tussen alle OMG-specificaties. Het lijkt misschien ingewikkeld, maar het is precies hetzelfde als met een klasse en een object. Zoals een object een instantie is van een klasse, zo is een systeem een instantie van een model. Het model kun je zien als een instantie van de taal en de taal is dan een instantie van de mof. Als je in mda een platformspecifiek model of, beter gezegd, een platformspecifieke architectuur wilt transformeren in een andere, kun je dat doen via het platformonafhankelijke model daarboven. Dergelijke tools zijn er overigens nog niet, maar dat is het principe."
 
Hoe zie je de toekomst van mda?
"Het belang van mda is te vergelijken met dat van objectoriëntatie of met de ontwikkeling van databases daarvoor of met compilerbouw nog eerder. Mda is een paradigmaverschuiving in de softwareontwikkeling – die overigens wel, net als de voorgaande, een jaar of tien in beslag zal nemen."< BR>

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Beveiliging en IT samen sterk tegen bedreigingen

    Deze paper geeft concrete strategieën en handvatten om IT en Security effectiever te integreren.

    Computable.nl

    Slimme toegang vs. onzichtbare cyberrisico’s in de Zorg

    In zorginstellingen is een constante stroom van personeel, patiënten en bezoekers. Maar hoe zorg je ervoor dat gevoelige gebieden beschermd blijven zonder de dagelijkse gang van zaken te verstoren? Hoe herken je eventuele zwakke plekken in het netwerk?

    Computable.nl

    Strategische alternatieven voor VMware

    Ontdek 3 strategieën voor een succesvolle overstap

    Meer lezen

    AchtergrondData & AI

    ISO 42001 veelbelovend als standaard voor verantwoorde ai

    ActueelCloud & Infrastructuur

    Onderzoek naar omkoping bouw Microsoft-datacenter Wieringermeer  

    AdvertorialGovernance & Privacy

    Impact van NIS2 op fysieke beveiliging

    OpinieCloud & Infrastructuur

    Digitale soevereiniteit vraagt om herziening van cloudstrategie  

    Rusland, hacker
    ActueelGovernance & Privacy

    AIVD: Rusland steeds agressiever, China bespioneert bedrijven

    AchtergrondCloud & Infrastructuur

    3 alternatieven voor trainen van ai zonder gebruikersdata

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs