Bruikbaarheid van Transformatietalen

Maat: px
Weergave met pagina beginnen:

Download "Bruikbaarheid van Transformatietalen"

Transcriptie

1 IWT Beursaanvraag Bruikbaarheid van Transformatietalen Bart Meyers Promotor: Prof. Dr. Dirk Janssens FoTS Formal Techniques in Software Development Universiteit Antwerpen Departement Wiskunde-Informatica Middelheimlaan 1, 2020 Antwerpen Mei 2009

2 1 Probleemstelling Sendall en Kozaczynski noemen modeltransformaties het hart en de ziel van model driven engineering (MDE) [29]. Omdat modellen als grafen voorgesteld kunnen worden, is het gebruik van graaftransformaties erg populair bij talen voor modeltransformatie. Progres was één van de eerste talen voor graaftransformatie die populair werd in de academische en industriële wereld. Later werden story diagrams ontwikkeld, een variant die gebaseerd is op de unified modeling language (UML) en op Java, en die metamodelleren uitgebreid ondersteunt [6]. Een tool voor story diagrams, genaamd Fujaba, werd ontwikkeld [13] los van de reeds bestaande Progres tool. In dezelfde periode werden heel wat andere transformatietools ontwikkeld die story diagrams of een vergelijkbare taal ondersteunen, zoals MOFLON [1], MOLA [12], GReAT [2] en VMTS [16]. Omdat de tools apart ontwikkeld worden, worden veel dezelfde taalconstructies opnieuw geïmplementeerd in elke tool, ondanks hun gelijkaardige transformatietaal. Dit is te wijten aan een gebrek aan portabiliteit tussen deze tools, en kan opgelost worden door het uitdragen van een standaard, zoals bijvoorbeeld OMG s Queries/Views/Transformations [22]. Deze standaard is voor veel tool-ontwikkelaars echter veel te uitgebreid om te implementeren. Een standaard moet dus zo bondig mogelijk zijn, om de drempel tot gebruik zo laag mogelijk te houden. Aan de andere kant moet een taal zo bruikbaar mogelijk zijn voor transformatie-ontwerpers. Dit betekent concreet dat de taal leesbaar en bruikbaar moet zijn, en dat editors handig in gebruik moeten zijn door ondersteuning van bijvoorbeeld code completion, debugging en on-the-fly compiling. Hoewel deze twee voorwaarden elkaar lijken tegen te spreken werd er recent toch een oplossing voorgesteld [32]. De gestandaardiseerde transformatietaal is volledig gebaseerd op de UML 1.5, met een UML profiel voor modeltransformatie. Dit profiel wordt het core profiel genoemd, en bestaat uit een minimale groep van een 15-tal taalconstructies voor herschrijfregels en control flow, gedefinieerd als UML language extensions [21]. Bijkomende nuttige taalconstructies kunnen aan de hand van dit core profiel en hogere orde transformaties [35] (HOTs) gedefinieerd worden [19]. Zo kan de taal uitgebreid worden met extensies die op een platformonafhankelijke manier geïmplementeerd zijn. De MoTMoT transformatietool [33] werd ontwikkeld als light-weight tool die dit profiel ondersteunt. Alle modellen (transformatiemodellen, metamodellen en hogere orde transformaties) zijn UML compatibel en kunnen uitgewisseld worden dankzij XML Metadata Interchange (XMI) [25]. Omdat de transformatietaal volledig compatibel is met de UML kunnen UML editors gebruikt worden om transformaties te modelleren. Eenvoudige plug-ins kunnen onwikkeld worden voor deze editors om het gebruiksgemak te optimaliseren voor transformatie-ontwerpers. In de praktijk is er echter meer nodig dan het UML core profiel om transformatiemodellen en hogere orde transformaties te definiëren. Deze transformatiemodellen bevatten operaties voor UML Data Types zoals Boolean, String en Integer, maar deze operaties zijn niet in de UML of het core profiel gedefinieerd. In de plaats daarvan is men in MoTMoT afhankelijk van de platform-eigen Java taal. Als oplossing werden transformaties tussen de verschillende talen gesuggereerd [32]. Dit zou echter de uitwisselbaarheid van de taaluitbreidingen en dus de implementatie van het core profiel opnieuw ernstig bemoeilijken. De UML voldoet als transformatietaal en metataal. Maar is er nood aan een algemeen metamodel voor bepaalde taalconstructies, zoals bijvoorbeeld een generisch container en knoop type [17]. Ook een metamodel voor traceability is een nuttige uitbreiding [31]. Als algemeen metamodel zouden deze taalconstructies, net zoals de primitieve UML datatypes en hun operaties, beschikbaar zijn voor elk model ongeacht zijn metamodel. Deze mechanismen zouden deel uitmaken van het core profiel. Op deze manier zouden de eerder voorgestelde HOTs voor taalextensies [32, 17], en transformaties in het algemeen, volledig platformonafhankelijk geïmplementeerd kunnen worden. 1

3 2 Doelstelling Het hoofddoel van dit project is de ontwikkeling van een kwaliteitsvol framework voor een uitwisselbare, lightweight, maar toch uitgebreide transformatietaal. De bedoeling is dat tools gebaseerd op graaftransformaties via dit framework modellen gemakkelijk kunnen uitwisselen en hergebruiken, om zo een productieve concurrentie met elkaar aan te gaan. Tool-ontwikkelaars kunnen zich bijgevolg toespitsen op één facet van toolontwikkeling, zoals metamodellering, performantie, editor integratie of code generatie, terwijl ze in hun project volop gebruik kunnen maken van de functionaliteiten die geïmplementeerd zijn door andere tool-ontwikkelaars. Meer concreet zal in dit project een framework worden ontwikkeld dat bestaat uit een transformatietaal en integratievoorzieningen. De transformatietaal ondersteunt het volgende: een core profiel voor de UML met zeer beperkte omvang. Dit profiel bevat de taalconstructies voor graaftransformatie; een generisch metamodel voor nodige constructies en operaties. Voorbeelden van constructies zijn elementen voor traceability en generische verzamelingen. Nodige operaties zijn bijvoorbeeld booleaanse expressies en operaties voor strings, integers en collections, net als operaties op bestanden en URLs; profieluitbreidingen met nieuwe constructies voor de transformatietaal. De eerste twee onderdelen worden tijdens dit project vastgelegd als basis. Nieuwe constructies worden continu door tool-ontwikkelaars toegevoegd aan een gemeenschappelijke repository. Om al meteen een volwassen, bruikbare transformatietaal aan te bieden zullen enkele uitbreidingen toegevoegd worden gedurende het project. Ze gelden ook als gevalstudies voor de platformonafhankelijkheid en uitbreidbaarheid van de transformatietaal: negative application conditions [11], nondeterminisme [17], iterative states [36], multi objects [36], optional graph elements [36] en rule inheritance [34]; triple graph grammars [28], of een alternatief om bidirectionele transformaties en dus een mogelijkheid tot modelconsistentie te ondersteunen; ondersteuning voor transformatieregels in concrete syntax in plaats van abstracte syntax, gelijkaardig als in AToM 3 [3], om zo de leesbaarheid te verbeteren en het implementeren van nieuwe regels te vereenvoudigen. Het framework moet op een gebruiksvriendelijke manier gebruikt kunnen worden. Omdat het framework volledig gebaseerd is op de UML, komen modelleertools bekende, populaire UML editors in aanmerking. Voor de integratievoorzieningen zullen volgende voorzieningen geïmplementeerd worden: een MagicDraw [20] plugin (naargelang de tendens zou een Eclipse [4] EMF/ECore [5] plugin ook zeer belangijk kunnen zijn). Deze populaire tools kunnen zo omgevormd worden tot volwaardige transformatietools waarin een softwaresysteem gemodelleerd kan worden a.h.v. verschillende modellen die achter de schermen consistent gehouden worden door de gedefinieerde modeltransformaties; specificaties voor backend ontwikkelaars. Syntax en semantiek moeten eenduidig aangeboden worden zodat het framework snel toegepast kan worden voor andere tools (zoals Fujaba) of andere platformen (zoals C++). Binnen de onderzoeksgroep Formal Techniques in Software Development (FoTS) zijn model driven engineering, visueel modelleren en graaftransformatie belangrijke onderzoeksdomeinen. De transformatietool MoTMoT [33] werd ontwikkeld door FoTS. De expertise binnen deze onderzoeksgroep zal zeer nuttig zijn voor dit project. 2

4 3 Projectbeschrijving 3.1 Situering In model driven engineering (MDE) staan modellen centraal. Deze modellen beschrijven een softwaresysteem, en ze zijn in alle ontwikkelingsfases prominent aanwezig. Verschillende soorten modellen worden gebruikt om verschillende aspecten van het systeem te modelleren. Omdat deze modellen allemaal hetzelfde systeem beschrijven moeten ze consistent gehouden worden. Dit gebeurt door modeltransformaties, die een model automatisch omzetten naar een ander model [14]. In een MDE framework moet het mogelijk zijn om nieuwe modelleertalen en modeltransformaties toe te voegen. Modeltransformaties worden in een transformatietaal gedefinieerd. Een belangrijk deel van deze transformatietalen zijn gebaseerd op graaftransformatie [27]. Een graaftransformatie bestaat uit de toepassing van een verzameling transformatieregels. Het uitvoeren van een regel transformeert een deel van het model. MDE leent zich tot kwaliteitsvolle software-ontwikkeling om twee redenen. Ten eerste garandeert het gebruik van kwaliteitsvolle modellen als volwaardige software artefacten ook de kwaliteit van code en test-cases. Ten tweede wordt de kwaliteit van het software-ontwikkelen verbeterd door het gebruik van transformaties tussen de verschillende modellen, waarbij kwaliteitsanalyses verricht kunnen worden [18]. 3.2 Core profiel Van Gorp et al. stelden een UML core profiel op voor transformatiemodellering [32]. De transformatietaal bestaat uit enerzijds transformatieregels (als class diagrams) en anderzijds control flow (als activity diagrams). Naast het gebruik van deze UML diagrammen moet de taal echter nog uitgebreid worden met constructies die eigen zijn aan transformatiemodellering (zoals bijvoorbeeld het matchen/verwijderen/creëren van elementen of de notie van conditionals in de control flow). De UML wordt echter niet uitgebreid via de taal van haar metamodel, de Meta Object Facility (MOF) [23], omdat dan de compatibiliteit met UML niet bewaard blijft. Profile Element Related UML Constructs Meaning ModelTransformation Method Callable Transformation motmot.transformation tag Method, Package, Activity Diagram Link from method to controlled rewrite rules success, failure Transition Match/Mismatch of rule motmot.constraint tag State, String Application condition on state Class, String Application condition on node link, code State, String Call to transformation motmot.transprimitive tag State, Package, Class Diagram(s) Link from a state in a flow to a rewrite rule motmot.metatype tag Class Type of rewrite node bound Class Parameter node, or node matched by previously executed rule create, destroy Class, Association Created/Destroyed elements Attribute (initial value) Node attribute updates closure Association Transitive closure for link label Tabel 1: Het core profiel in MoTMoT [32] (aangepast) In plaats daarvan wordt de UML uitgebreid met virtuele metaklassen en virtuele metaattributen als zogenaamd UML profiel volgens de UML extensie mechanismen [21]. Die worden gedefinieerd door respectievelijk UML stereotypes, en UML tagged values. Het UML core profiel 3

5 worden gegeven in Tabel 1. Dit profiel bevat enkel de basisconstructies voor modeltransformatie op het niveau van transformatieregels (class diagrams) en control flow (activity diagrams) Generisch metamodel De transformatietaal bestaat uit de UML en het core profiel, maar dit is nog niet voldoende om gedetailleerde transformatiemodellen op te stellen. Er is nood aan extra constructies en operaties: operaties voor UML primitieve datatypes zoals Integer, UnlimitedInteger, String, Name, Boolean en eventueel andere [21] zijn nodig [32, 17]. Zulke operaties maken geen deel uit van de UML specificatie, maar zijn wel nodig voor contraints (bij het matchen) en toekenning van attributen (bij het uitvoeren van side-effects na het matchen). Deze operaties worden grotendeels ondersteund door Imperative OCL [22], een extensie van de OCL [24], ondersteund door de OMG s QVT, dat imperatieve expressies ondersteunt zoals toewijzingen van variabelen. Het mogelijk gebruik van Imperative OCL, maar ook alternatieven, zal dus grondig onderzocht worden; naast de UML datatypes is er nood aan een type voor een generische knoop en een generische container [17]. Deze types kunnen weer als virtuele metaklassen gebruikt worden, als klassen met bijvoorbeeld stereotypes als GenericNode en GenericContainer. Ook hiervoor komt het gebruik van de OCL in aanmerking, met een OCL Class (zodat attributes en operations gebruikt kunnen worden) als generische knoop en een OCL CollectionType als generische container [24]; attributen en associaties van klassen moeten opgevraagd kunnen worden. Aangezien attributen en associaties met verschillende multipliciteiten gebruikt kunnen worden zijn bepaalde operaties op collection types nodig (isempty, size, union, enzovoort). Hiervoor biedt de OCL weer de geschikte operaties aan in haar OCL standard library [24]. De exacte samenstelling van dit generisch metamodel wordt onderzocht aan de hand van een aantal case studies en vergelijkende studies van bestaande transformatietools. Zo wordt het duidelijk welke operaties en constructies nodig zijn om een expressieve transformatietaal te verkrijgen. Zoals gezegd komt Imperative OCL in aanmerking voor dit generisch metamodel. Het is een voordeel dat OCL deel uitmaakt van de QVT operational mappings taal. OCL is ook goed opgenomen in zowel de academische als de industriële wereld. Er zijn al verschillende mappings geïmplementeerd die zeer goed van pas kunnen komen bij de backend specificaties, zoals OCL naar.net [15], OCL voor een EMF code generator [8] en OCL naar Java [9]. 3.4 Taaluitbreidingen door higher order transformations De kern van de transformatietaal is het UML core profiel en het generisch metamodel, oftewel de core taal. Daarnaast is het de bedoeling dat de transformatietaal eenvoudig uitgebreid kan worden met nieuwe taalconstructies. Additionele taalconstructies kunnen dan als plugin in de transformatietaal geïntegreerd worden. Deze constructies dienen voor het gebruiksgemak van de transformatie-ontwerpers te verbeteren. Algemene constructies voor modeltransformatie kunnen toegevoegd worden (zoals negatieve applicatiecondities), maar ook domeinspecifieke constructies (zoals fuzzy pattern recognition) kunnen geïmplementeerd worden. Het is dan aan de gebruiker van de transformatietaal om te kiezen welke taaluitbreidingen hij wilt gebruiken. De syntax van deze nieuwe taalconstructies is gelijkaardig aan de syntax van het core profiel, en maakt dus gebruik van virtuele klassen en attributen. De implementatie van de nieuwe taalconstructies gebeurt door middel van hogere orde transformaties (HOTs) [35]. HOTs zijn transformaties die transformatiemodellen als input en output 1 De constructies voorgesteld in [32] voor iteraties zijn weggelaten. Ze horen immers niet bij de basis-constructies omdat ze geïmplementeerd kunnen worden met een HOT (zie Sectie 3.4). 4

6 hebben. De transformatiemodellen die nieuwe taalconstructies gebruiken worden getransformeerd naar transformatiemodellen zonder nieuwe taalconstructies, maar met hetzelfde gedrag. De HOT zelf wordt opgesteld in de core taal, zodat geen extra infrastructuur nodig is om de taalextensies te kunnen gebruiken. Hogere orde transformaties voor een copy operator [32], nondeterminisme [17] en negatieve applicatiecondities in patterns [17] werden al opgesteld. De techniek bestaat uit (1) het vinden van een equivalent in de core taal voor de nieuwe taalconstructie en (2) het opstellen van de HOT die elk voorkomen van deze taalconstructie transformeert naar het equivalent. Enkele voorbeelden van taalconstructies die in andere tools beschikbaar zijn, zijn gegeven in Tabel 2. Ook extensies voor bijvoorbeeld performantie, zoals het voorbeeld van het beperken van de zoekruimte, kunnen geïmplementeerd worden aan de hand van deze techniek. Extension Core language equivalent NAC on state Swap success and failure transitions. NAC on attribute Use motmot.constraint. NAC on association Remove the NAC association from the pattern and add a second pattern with a NAC on its state containing the two (now bound) nodes on either end of the NAC association. NAC on subpattern Extract NAC pattern and add negated call in motmot.constraint to created story diagram scheduling the extracted NAC pattern [17]. Traceability Annotate the model with generic nodes from the generic metamodel. Loop states Mark the elements that match and add a constraint saying that only elements that are not marked can match. Multi objects Loop the pattern on each occurence of the multi object [36]. Maybe clauses Replace the pattern with a pattern for each possibility. These possibilities can be analyzed from parsing the maybe clause [36]. Optional graph element Replace the pattern with a pattern for each possibility [36]. Inheritance Add the elements of the parent patterns to their child patterns, and replace duplicate elements in the child pattern. Reduce search space Split large patterns. Tabel 2: Mogelijke taalextensies en hun equivalent in core taal [17] In Figuur 1 wordt het principe van het uitvoeren van hogere orde transformaties weergegeven. Een eerste orde transformatiemodel TrfoModel is geschreven in de uitgebreide transformatietaal bestaande uit de core taal en de extensies. TrfoModel wordt getransformeerd naar Flattened Trfo- Model dat alleen de core taal gebruikt door alle HOTs uit te voeren. Beide transformatiemodellen kunnen gebruik maken van het generisch metamodel. Dit transformatiemodel kan dan uitgevoerd worden op een inputmodel door gelijk welke transformatietool die de core taal ondersteunt. Taalextensies kunnen uitgebreider zijn dan enkele nieuwe taalconstructies zoals in Tabel 2. Bidirectionele transformaties en consistentie kunnen door triple graph grammars (TGGs) [28] verwezenlijkt worden. Een TGG regel bestaat uit drie (in plaats van twee voor graph grammars) grafen. TGG regels kunnen opgedeeld worden in drie graph grammar regels: de forward rule, de reverse rule en de relations rule [10]. De HOT die TGGs implementeert kan een TGG regel dus transformeren naar deze drie regels, die alleen gebruik maken van de core taal. TGGs zijn bijvoorbeeld in Fujaba geïmplementeerd, maar nog niet op een platformonafhankelijke manier. In Fujaba, VMTS, GReAT, MoTMoT, MOFLON en MOLA worden transformatieregels opgesteld in abstracte syntax. Regels kunnen dus minder leesbaar en intuïtief zijn dan in bijvoorbeeld AToM 3, waarbij regels in concrete, grafische syntax geschreven worden. Door het principe van zogenaamde prototypes [17] en HOTs uitvoerig toe te passen is het mogelijk om regels in concrete 5

7 Figuur 1: Het wegtransformeren van instanties van de taaluitbreidingen syntax op een platformonafhankelijke manier te ondersteunen in de transformatietaal. De transformatieregels in concrete syntax kunnen dan door een HOT geëvalueerd en uitgevoerd worden. In dit geval treedt de HOT op als transformatie-engine, in plaats van de tool. Een andere optie bestaat erin om de transformatieregels in concrete syntax door een HOT te transformeren naar regels in abstracte syntax, die dan door de tool geëvalueerd en uitgevoerd kunnen worden. Er moet een repository-systeem ontwikkeld worden waardoor de extensies gedeeld kunnen worden tussen verschillende tool-ontwikkelaars en -gebruikers. Tools als Maven [7] kunnen hiervoor gebruikt worden. 3.5 UML editor plugin Om de transformatietaal te kunnen gebruiken is er een integrated development environment (IDE) nodig. Aangezien de taal volledig gebaseerd is op de UML komen UML editors in aanmerking. Omdat de UML erg populair is geworden zijn er heel uitgebreide tools ontwikkeld, zoals MagicDraw [20]. Het is dus aangewezen om voor zulke tools een plugin te ontwikkelen die de taal en de tool integreren in de editor. Dit houdt het volgende in: integratie van transformatietaal: bepaalde taalconstructies kunnen geïntegreerd worden in de IDE, zoals bijvoorbeeld transformatieregels (als variant van class diagrams), success transitions en elementen van transformatieregels; code completion: namen van links (UML associaties) en metatypes hoeven niet helemaal getyped worden met een code completion integratie in de editor. Ook multipliciteiten kunnen automatisch aangevuld worden volgens het metamodel; tool integratie: het uitvoeren van transformaties kan via een eenvoudige druk op de knop. Verschillende eigenschappen voor de transformatie kunnen ook via de IDE ingevuld worden; debuggen: als er OCL constraints voor de transformatietaal toegevoegd worden kan het debuggen van syntax gebeuren door het verifiëren van deze OCL constraints. Voor het debuggen op run-time kunnen traceability mechanismen gebruikt worden, maar dit is niet zo eenvoudig en zal grondig onderzocht moeten worden. 6

8 De plugin integreert niet alleen de core taal in de editor maar ook de extensies, en daarom moet de plugin mee evolueren met de extensies. De plugin wordt gepersonaliseerd naargelang welke extensies geïnstalleerd zijn. Als bijvoorbeeld de extensie voor bidirectionaliteit geïnstalleerd is, dan zal de plugin ook mogelijkheden tot het synchroniseren van modellen bevatten, waardoor de editor tot een volwaardige transformatietool uitgroeit. Hierbij is de performantie van het uitvoeren van de transformaties echter heel belangrijk. Ook het installeren zelf van nieuwe extensies uit de repository kan via de plugin gebeuren. Op deze manier kan het gebruik en beheer van de transformatietool uitsluitend via de editor gebeuren, zodat het gebruiksgemak verhoogt. 3.6 Kwaliteit Om de kwaliteit te garanderen van het framework moet het geëvalueerd worden aan de hand van de volgende criteria [18]: herbruikbaarheid: het delen van dit framework gebeurt met het oog op het hergebruiken van transformaties, HOTs en metamodellen van andere tool-ontwikkelaars. Op regelniveau van de transformatietaal wordt herbruikbaarheid gestimuleerd door de beschikbare extensie voor rule inheritance, die als case studie geïmplementeerd wordt; onderhoudbaarheid: omdat het framework afhankelijk is van de UML en het minimale implementatie vereist is het makkelijk te onderhouden; gebruiksvriendelijkheid: de talrijke taalextensies, bijvoorbeeld transformatieregels in concrete syntax, zorgen voor een gebruiksvriendelijke transformatietaal. Omdat de transformatietaal volledig gebaseerd is op de UML is het mogelijk om UML editors te gebruiken. Mits een plugin voor de transformatietaal verkrijgt men een zeer gebruiksvriendelijke modelleeromgeving; flexibiliteit: de transformatietaal kan per tool aangepast worden naargelang de voorkeur van de gebruikers. Domeinspecifieke taalconstructies kunnen toegevoegd worden aan de repository voor taalextensies, en hoeven niet door elke tool die het framework ondersteunt geïntegreerd worden; eenvoud in regels: door syntactic sugar wordt de transformatietaal erg uitgebreid, waardoor het mogelijk is om erg beknopt te modelleren; verificatie en debugmogelijkheden in regels: hoewel dit niet in dit project expliciet aan bod komt, biedt het framework toch een mogelijkheid aan tot verificatie en debugging, aan de hand van HOTs en traceability; transformeerbaarheid van modellen [30]: hiervoor moeten modellen compleet zijn (alles in het desbetreffende domein kan uitgedrukt worden met de modellen), relevant zijn (er zijn geen nutteloze onderdelen in het model), well-formed zijn (het model volgt zijn metamodel) en precies zijn (het model is gedetailleerd genoeg om te transformeren): compleetheid: nieuwe taalextensies kunnen domeinspecifiek zijn. De compleetheid van een model in een bepaald domein kan via case studies aangetoond worden; relevant: dit criterium wordt niet altijd als een correct requirement geïnterpreteerd [18]. Voor bepaalde transformaties worden bepaalde elementen uit het inputmodel genegeerd. Dit is ook nuttig, en zelfs essentieel in bijvoorbeeld bidirectionele endogene verticale transformaties. Dit criterium wordt in dit project niet als requirement aanzien; well-formedness: het metamodelleren in de UML zou uitgebreid kunnen worden met constraints (OCL [24]). Dit hoort niet tot dit project, aangezien de nadruk op de transformaties zelf ligt; 7

9 precisie: bepaalde domeinspecifieke analyses kunnen uitgevoerd worden op het model voordat het getransformeerd wordt. Aan de ene kant kan dit gebeuren door andere tools die gespecialiseerd zijn in dit domein omdat de modellen uitwisselbaar zijn door XMI. Aan de andere kunnen er met de transformatietaal zelf transformaties gedefinieerd worden die analyses op modellen uitvoeren. 8

10 4 Planning 4.1 Eerste periode, jaar 1 Eerst wordt er een eenvoudige taalextensie geïmplementeerd om deze techniek te valideren. Aangezien ik hierin ervaring heb [17], zal dit op korte tijd gerealiseerd worden. Het geheel wordt gepubliceerd als workshop paper. Het eerste jaar zal ik vooral werken aan de ontwikkeling van de transformatietaal zelf. Dit houdt in dat de vereisten voor het core profiel en het generisch metamodel geanalyseerd worden. Deze requirements zullen geïmplementeerd worden, en terwijl zullen de specificaties voor backend gebruikers opgemaakt worden. De taal wordt gevalideerd door het implementeren van taalextensies. Hierover wordt een conference paper gepubliceerd. 4.2 Eerste periode, jaar 2 In het tweede jaar zal ik vooral aandacht besteden aan de gebruiksvriendelijkheid, de uitwisselbaarheid en de integratie van het framework. Daarom wordt er een plugin ontwikkeld voor een toonaangevende UML editor zoals MagicDraw. Daarnaast wordt de repository manager voor taalextensies ontwikkeld. De realisatie van dit bruikbaar, lightweight MDE framework resulteert in een conference paper. Het jaar wordt afgesloten met een IWT-aanvraag voor een tweede periode. 4.3 Tweede periode, jaar 1 In het derde jaar zal ik de transformatietaal verder verfijnen door de implementatie van de twee meer vergaande taalextensies, transformatieregels in concrete syntax en bidirectionele transformaties. De plugin evolueert mee met de uitbreidingen van de nieuwe taal. 4.4 Tweede periode, jaar 2 In het laatste jaar zal ik de taalextensies afwerken. Zo heeft er zich een afgewerkt framework gevormd. De inhoud van het hele project wordt gepubliceerd als journal paper. Daarnaast wordt er een groot deel van de tijd besteed aan het schrijven van de thesis. 9

11 10

12 5 Toepassingsmogelijkheden Het voorgestelde framework is nuttig omdat het principes als hergebruik en uitwisselbaarheid zeer goed ondersteunt. Tools die het framework ondersteunen moeten niet meer helemaal los van elkaar geïmplementeerd en gebruikt worden. De tijd die daarbij vrijkomt kan gebruikt worden voor veel gespecialiseerdere tooluitbreidingen. Het resultaat is een zeer uitgebreide en configureerbare transformatietaal. In model driven engineering zijn domein-specifieke talen essentieel. Door de flexibiliteit van het framework wordt het mogelijk om de tool en transformatietaal zelf domein-specifiek, maar toch uitwisselbaar te maken. Hierdoor is het gebruik erg gespecialiseerde, maar toch eenvoudige, en vooral snel configureerbare transformatietools mogelijk. Men kan dan spreken van domein-specifieke metatalen. Er kan bijvoorbeeld een transformatietool opgesteld worden voor een taal die heel geschikt is voor artificiële intelligentie. Hiervoor kan bij het pattern matchen een vorm van fuzzy logic gebruikt worden, waardoor attributen en/of elementen in patterns niet precies gematcht moeten worden, maar wel ongeveer. De uitwisselbaarheid met andere tools blijft hierbij uiteraard wel bestaan. Een ander voorbeeld zou een tool met taalconstructies op metaniveau met een notie van tijd kunnen zijn. 11

13 Bibliografie [1] C. Amelunxen, A. Königs, T. Rötschke, and A. Schürr. MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations. In A. Rensink and J. Warmer, editors, Model Driven Architecture - Foundations and Applications: Second European Conference, volume 4066 of Lecture Notes in Computer Science (LNCS), pages , Heidelberg, Springer Verlag. [2] D. Balasubramanian, A. Narayanan, C. van Buskirk, and G. Karsai. The graph rewriting and transformation language: GReAT. Electronic Communications of the EASST, 1, [3] J. De Lara, H. Vangheluwe, and M. Alfonseca. Meta-modelling and graph grammars for multi-paradigm modelling in atom3. Software and Systems Modeling (SoSyM), 3(3): , [4] Eclipse Foundation. Eclipse IDE, [5] Eclipse Foundation. Eclipse modeling framework [6] T. Fischer, J. Niere, L. Torunski, and A. Zündorf. Story diagrams: A new graph rewrite language based on the unified modeling language and java. In TAGT 98: Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations, pages , London, UK, Springer-Verlag. [7] T. A. S. Foundation. Maven [8] M. Garcia and A. J. Shidqie. OCL Compiler for EMF. In Eclipse Modeling Symposium at Eclipse Summit Europe 2007, Stuttgart, Germany, [9] M. Garcia and A. J. Shidqie. Ocl tools: Status and perspectives. Technische Universität Hamburg-Harburg, [10] L. Grunske, L. Geiger, and M. Lawley. A graphical specification of model transformations with triple graph grammars. In In First European Conference Model Driven Architecture - Foundations and Applications, number 3748 in Lecture Notes in Computer Science, pages Springer, [11] A. Habel, R. Heckel, and G. Täntzer. Graph grammars with negative application conditions. Fundamenta Informaticae, 26: , [12] A. Kalnins, J. Barzdins, and K. Podnieks. MOLA - MOdel transformation LAnguage [13] T. Klein, U. A. Nickel, J. Niere, and A. Zündorf. From uml to java and back again. Technical Report tr-ri , University of Paderborn, Paderborn, Germany, September [14] A. Kleppe, J. Warmer, and W. Bast. MDA Explained: The Model Driven Architecture Practice and Promise. Addison-Wesley Professional, April

14 [15] L. Lengyel, T. Levendovszky, and H. Charaf. Implementing an ocl compiler for.net. In In Proceedings of the 3rd International Conference on.net Technologies, pages , Plzen, Czech Republic, May [16] T. Levendovszky, L. Lengyel, G. Mezei, and T. Mészáros. VMTS - Visual Modeling and Transformation System [17] B. Meyers. Hybrid rule scheduling in story driven modeling a tool-independent approach. Master s thesis, University of Antwerp, [18] P. Mohagheghi and V. Dehlen. An overview of quality frameworks in model-driven engineering and observations on transformation quality. In L. Kuzniarz, J. L. Sourrouille, and M. Staron, editors, Proceedings of the 2nd Workshop on Quality in Modeling, pages 3 17, Nashville, TN, USA, [19] O. Muliawan. Extending a model transformation language using higher order transformations. In WCRE 08: Proceedings of the th Working Conference on Reverse Engineering, pages , Washington, DC, USA, IEEE Computer Society. [20] No Magic. Magicdraw uml, [21] OMG. OMG Unified Modeling Language Specification, Version 1.4, June [22] OMG. MOF QVT final adopted specification, November [23] OMG. Meta Object Facility (MOF) Core Specification, Version 2.0, Januari [24] OMG. OMG Object Constraint Language, Version 2.0, May [25] OMG and R. Soley. XML metadata interchange (XMI) specification, Version 2.0, May [26] L. F. Pires and S. Hammoudi, editors. Model-Driven Enterprise Information Systems, Proceedings of the 2nd International Workshop on Model-Driven Enterprise Information Systems, MDEIS 2006, In conjunction with ICEIS 2006, Paphos, Cyprus, May INSTICC Press, [27] G. Rozenberg, editor. Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations. World Scientific, [28] A. Schürr. Specification of graph translators with triple graph grammars. In 20th International Workshop on Graph-Theoretic Concepts in Computer Science, pages , London, UK, Springer-Verlag. [29] S. Sendall and W. Kozaczynski. Model transformation - the heart and soul of model-driven software development. IEEE Software, Special Issue on Model Driven Software Development, pages 42 45, [30] I. Solheim and T. Neple. Model quality in the context of model-driven development. In Pires and Hammoudi [26], pages [31] P. Van Gorp. Model-driven Development of Model Transformations. PhD thesis, University of Antwerp, [32] P. Van Gorp, A. Keller, and D. Janssens. Transformation language integration based on profiles and higher order transformations, [33] P. Van Gorp, H. Schippers, and O. Muliawan. MoTMoT

15 [34] D. Varró and A. Pataricza. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and uml (the mathematics of metamodeling is metamodeling mathematics). Software and System Modeling, 2(3): , [35] D. Varró and A. Pataricza. Generic and meta-transformations for model transformation engineering. In T. Baar, A. Strohmeier, A. Moreira, and S. Mellor, editors, Proc. UML 2004: 7th International Conference on the Unified Modeling Language, volume 3273 of LNCS, pages , Lisbon, Portugal, October Springer. [36] A. Zündorf. Rigorous Object Oriented Software Development. PhD thesis, University of Paderborn,

Presentatie Jaarproject. Nils De Moor Sam Verboven

Presentatie Jaarproject. Nils De Moor Sam Verboven Presentatie Jaarproject Nils De Moor Sam Verboven Story Driven Modelling Story Diagrams UML class / activity / colaboration diagrams Operatoren : - Diagram begint bij - Doorloopt activities (onderling

Nadere informatie

Implementatie #-operator

Implementatie #-operator Departement Wiskunde-Informatica Universiteit Antwerpen November 13, 2005 Book sample Book sample Tools Reïficatie Maak van de event method loan een method class Loan Non-reïficatie Genereer nieuwe properties

Nadere informatie

Thesissen bij FOTS. Uitbreiding, Integratie en Gebruik van open source Modelleringstools. Pieter Van Gorp. Universiteit Antwerpen.

Thesissen bij FOTS. Uitbreiding, Integratie en Gebruik van open source Modelleringstools. Pieter Van Gorp. Universiteit Antwerpen. Thesissen bij FOTS Uitbreiding, Integratie en Gebruik van open source Modelleringstools Pieter Van Gorp Universiteit Antwerpen 26th April 2006 Pieter Van Gorp (Universiteit Antwerpen) Thesissen bij FOTS

Nadere informatie

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam. Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam. Welke hoort in dit rijtje niet thuis? Weg- en waterbouw Huizen- en kantoorbouw Stedenbouw Auto- en vliegtuigbouw

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Een introductie voor leden van de expertgroep Informatiemodellen Harmen Mantel, Ordina ICT Management & Consultancy, werkzaam voor KING DOELSTELLING PRESENTATIE GEMEENSCHAPPELIJKE

Nadere informatie

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces Software Processen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Het software proces Een gestructureerd set van activiteiten nodig om een software systeem te ontwikkelen Specificatie;

Nadere informatie

Master Software Engineering

Master Software Engineering Scriptie Master Software Engineering Datatransformaties door middel van Model Driven Architecture. Student: Opleiding: Docent: Stagebegeleider: Opdrachtgever: Bart Vreeken Master Software Engineering Universiteit

Nadere informatie

Introductie in flowcharts

Introductie in flowcharts Introductie in flowcharts Flow Charts Een flow chart kan gebruikt worden om: Processen definieren en analyseren. Een beeld vormen van een proces voor analyse, discussie of communicatie. Het definieren,

Nadere informatie

Ervaringen met het opzetten van een MDD omgeving

Ervaringen met het opzetten van een MDD omgeving Ervaringen met het opzetten van een MDD omgeving Introductie (1/3) Eric Jan Malotaux Software architect Mod4j Software architect Ordina Johan Vogelzang Developer Mod4j Projectleider Java ontwikkelstraat

Nadere informatie

Model driven Application Delivery

Model driven Application Delivery Model driven Application Delivery Fast. Flexible. Future-proof. How Agis streamlines health procurement using Mendix Model driven Application Platform Mendix in a nutshell Mendix delivers the tools and

Nadere informatie

Systeem modellen. Topics covered

Systeem modellen. Topics covered Systeem modellen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 1 Topics covered Context models Behavioural models Data models Object models CASE workbenches Ian Sommerville 2004

Nadere informatie

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan. Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende

Nadere informatie

Tips & Tricks for TUE students doing Architecture Reconstruction with Rascal

Tips & Tricks for TUE students doing Architecture Reconstruction with Rascal SWAT - Software Analysis and Transformation Tips & Tricks for TUE students doing Architecture Reconstruction with Rascal Jurgen Vinju Davy Landman https://gist.github.com/jurgenvinju/8972255 http://update.rascal-mpl.org/unstable

Nadere informatie

Software Factories. Toepassing van Domain Specific Languages. achtergrond

Software Factories. Toepassing van Domain Specific Languages. achtergrond In de software-industrie zijn budget- en deadline-overschrijdingen aan de orde van de dag, er wordt vaak niet aan de gestelde verwachtingen voldaan. Dit kan worden voorkomen door software-ontwikkeling

Nadere informatie

Rapportage Lineage. Introductie. Methode. J. Stuiver

Rapportage Lineage. Introductie. Methode. J. Stuiver Rapportage Lineage Rapportage Lineage J. Stuiver Introductie In elk project is het essentieel om informatie over het project en haar activiteiten voor alle partijen beschikbaar te stellen. Deze informatie

Nadere informatie

Software Test Documentation

Software Test Documentation FACULTEIT INGENIEURSWETENSCHAPPEN & WE- TENSCHAPPEN DEPARTMENT OF COMPUTER SCIENCE AND APPLIED COMPUTER SCIENCE Software Test Documentation Software Engineering Nicolas Carraggi, Youri Coppens, Christophe

Nadere informatie

ARE methodiek Het ontwikkelen van Informatie Elementen

ARE methodiek Het ontwikkelen van Informatie Elementen ARE methodiek Het ontwikkelen van Informatie Elementen WI1: Het opstarten van het project Milestone 1 WI2: Ontwikkel een Vison WI3: Modelleer het Business Domain WI4: Creëer een Glossary WI7: Beheer wijzigingen

Nadere informatie

Creëer je eigen DSL tools met Eclipse De Android Challenge

Creëer je eigen DSL tools met Eclipse De Android Challenge Creëer je eigen DSL tools met Eclipse De Android Challenge Lex Heerink, Peter Ebben, Jaap Reitsma, Maarten Steen Telematica Instituut De aanleiding Freeband A-MUSE project Specificatie en ontwerp van mobiele

Nadere informatie

WFS 3.0 De geo-api van de toekomst. Linda van den Brink, Geonovum 13 februari #DataToBuildOn

WFS 3.0 De geo-api van de toekomst. Linda van den Brink, Geonovum 13 februari #DataToBuildOn WFS 3.0 De geo-api van de toekomst Linda van den Brink, Geonovum 13 februari 2019 @brinkwoman #DataToBuildOn Eerste versie uit 2002 https://nl.wikipedia.org/wiki/web_feature_service Web Feature Service

Nadere informatie

Organiseer uw verschillende SOAP services in één scenario

Organiseer uw verschillende SOAP services in één scenario 1 Organiseer uw verschillende SOAP services in één scenario Wouter Luijten wouterluijten@creetion.com 2 Introductie Tijdens de implementatie van een proces heeft u vaak te maken met een veelvoud aan services.

Nadere informatie

UML. From weblog http://dsnippert.wordpress.com. Dennis Snippert

UML. From weblog http://dsnippert.wordpress.com. Dennis Snippert UML From weblog http://dsnippert.wordpress.com Naam: Dennis Snippert Inhoudsopgave 1. Wat is Uml?... 3 2. UML diagrammen... 4 3. Uitleg diagrammen... 5 3.1. Usecase diagram:... 5 3.2. Class diagram:...

Nadere informatie

GernEdiT The GermaNet Editing Tool

GernEdiT The GermaNet Editing Tool GernEdiT The GermaNet Editing Tool Verena Henrich and Erhard Hinrichs University of Tübingen Department of Linguistics LREC 2010, Malta, May 2010 Introduction GernEdiT (GermaNet Editing Tool) User-friendly

Nadere informatie

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt. Plsqldoc Genereer je documentatie Beeklaan 444 2562 BK Den Haag www.darwin-it.nl info@darwin-it.nl KvK 27283780 ING 65.35.40.663 Technical Architect Net als (vrijwel) elke ontwikkelaar vind ik het documenteren

Nadere informatie

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans Canonieke Data Modellering op basis van ArchiMate Canonieke Data Modellering op basis van Archimate Bert Dingemans Abstract Modelleren op basis van de open standard ArchiMate is een goed uitgangspunt voor

Nadere informatie

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010 FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE Toets Inleiding Kansrekening 1 8 februari 2010 Voeg aan het antwoord van een opgave altijd het bewijs, de berekening of de argumentatie toe. Als je een onderdeel

Nadere informatie

DATAMODELLERING DATA MAPPING MODEL

DATAMODELLERING DATA MAPPING MODEL DATAMODELLERING DATA MAPPING MODEL Inleiding In dit whitepaper wordt de datamodelleervorm data mapping model beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil

Nadere informatie

Adequate and consistent Black-Box Testing methods in Refactorings

Adequate and consistent Black-Box Testing methods in Refactorings Onderzoeksstage 2 - Master Informatica Adequate and consistent Black-Box Testing methods in Refactorings David Van den Enden April 2009 Promotor: Prof. Dr. Serge Demeyer LORE (Lab On Reengineering) Universiteit

Nadere informatie

Stacks and queues. Hoofdstuk 6

Stacks and queues. Hoofdstuk 6 Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked

Nadere informatie

Model Driven Architecture

Model Driven Architecture Specificeren van software functionaliteit Afstudeerscriptie Master Software Engineering, Faculteit der Natuurwetenschappen, Wiskunde en Informatica, Universiteit van Amsterdam Auteur: Begeleider: Wilfred

Nadere informatie

ArchiMate voor kennismodellen van NORA en haar dochters. Marc Lankhorst 16 oktober 2013

ArchiMate voor kennismodellen van NORA en haar dochters. Marc Lankhorst 16 oktober 2013 ArchiMate voor kennismodellen van NORA en haar dochters Marc Lankhorst 16 oktober 2013 Agenda 13:00 introductie ArchiMate-status en -ontwikkelingen en NORA-kennismodel 14:00 parallelle workshops rond de

Nadere informatie

Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer. Constraints

Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer. Constraints Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer 2005 Prof Dr. O. De Troyer, pag. 1 Constraints UML s notatie is grafisch Goed voor het uitdrukken van structurele eigenschappen van

Nadere informatie

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010

NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 NCTS - INFORMATIE INZAKE NIEUWIGHEDEN VOOR 2010 Op basis van het nieuwe artikel 365, lid 4 (NCTS) en het nieuwe artikel 455bis, lid 4 (NCTS-TIR) van het Communautair Toepassingswetboek inzake douane 1

Nadere informatie

REST Adapter in SAP PI/PO voor REST-based Web Services

REST Adapter in SAP PI/PO voor REST-based Web Services REST Adapter in SAP PI/PO voor REST-based Web Services Inleiding Eindelijk! SAP heeft officieel de REST Adapter voor SAP PI/PO uitgebracht. Deze is beschikbaar vanaf SAP NetWeaver 7.3 EHP1 SP14 of SAP

Nadere informatie

Relatie Algebra in een Intelligent Tutoring Systeem

Relatie Algebra in een Intelligent Tutoring Systeem Relatie Algebra in een Intelligent Tutoring Systeem 1 April 2017 Esther Hageraats Student master BPMIT Faculteit Management, Science & Technology Examencommissie: L. Rutledge en S. Joosten Studie en loopbaan

Nadere informatie

Ontwikkeling van simulationbased serious games ten behoeve van logistieke besluitvorming

Ontwikkeling van simulationbased serious games ten behoeve van logistieke besluitvorming faculteit economie en bedrijfskunde center for operational excellence 18-05-2016 1 18-05-2016 1 Ontwikkeling van simulationbased serious games ten behoeve van logistieke besluitvorming Durk-Jouke van der

Nadere informatie

AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models

AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models AdVISHE: Assessment of the Validation Status of Health- Economic Decision Models Pepijn Vemer, George van Voorn, Isaac Corro Ramos, Maiwenn Al, Talitha Feenstra Rationale In theorie: Doe alles! Een model

Nadere informatie

DATAMODELLERING XML SCHEMA DEFINITIONS

DATAMODELLERING XML SCHEMA DEFINITIONS DATAMODELLERING XML SCHEMA DEFINITIONS Inleiding In dit whitepaper wordt de datamodelleervorm XML Schema Definition (XSD) beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving

Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder Stand van zaken 17 Maart 2007 Inhoud Probleemgebied afstudeerproject Oplossingsgebied afstudeerproject

Nadere informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze

Nadere informatie

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49

Stacks and queues. Introductie 45. Leerkern 45. Terugkoppeling 49. Uitwerking van de opgaven 49 Stacks and queues Introductie 45 Leerkern 45 6.1 Stacks 45 6.2 Queues 47 6.3 Double-ended queues 48 Terugkoppeling 49 Uitwerking van de opgaven 49 Bijlage: Diagrammen belangrijkste interfaces en klassen

Nadere informatie

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise Inhoudsopgave 1. Voorbereiding... 4 2. Web Service Connector tool configuratie... 5 3. TaskCentre taak voor het aanmaken van

Nadere informatie

Opleiding PECB ISO 9001 Quality Manager.

Opleiding PECB ISO 9001 Quality Manager. Opleiding PECB ISO 9001 Quality Manager www.bpmo-academy.nl Wat is kwaliteitsmanagement? Kwaliteitsmanagement beoogt aan te sturen op het verbeteren van kwaliteit. Tevens houdt het zich bezig met het verbinden

Nadere informatie

Modulebeschrijving voor MOD1

Modulebeschrijving voor MOD1 Modulebeschrijving voor MOD1 Fontys Venlo Afd. informatica 12 april 2013 Samenvatting 1 Identificatie Module Modeling 1 ProgressCode MOD1 Docenten Ferd van Odenhoven Afdeling Fontys Hogeschool Techniek

Nadere informatie

Enterprise Architectuur. een duur begrip, maar wat kan het betekenen voor mijn gemeente?

Enterprise Architectuur. een duur begrip, maar wat kan het betekenen voor mijn gemeente? Enterprise Architectuur een duur begrip, maar wat kan het betekenen voor mijn gemeente? Wie zijn we? > Frederik Baert Director Professional Services ICT @frederikbaert feb@ferranti.be Werkt aan een Master

Nadere informatie

Wat kan BIM betekenen voor de gebouwbeheerder?

Wat kan BIM betekenen voor de gebouwbeheerder? Wat kan BIM betekenen voor de gebouwbeheerder? Tim Lemoine WTCB Hoofdadviseur Dienst BIM en informatietechnieken tim.lemoine@bbri.be Wat kan BIM betekenen voor de gebouwbeheerder? - 13-05-16 - Pagina 1

Nadere informatie

Use-Case 2.0. Requirements Kenniscentrum 15 November 2012. Eric Lopes Cardozo elcardozo@ivarjacobson.com

Use-Case 2.0. Requirements Kenniscentrum 15 November 2012. Eric Lopes Cardozo elcardozo@ivarjacobson.com Use-Case 2.0 Requirements Kenniscentrum 15 November 2012 Eric Lopes Cardozo elcardozo@ivarjacobson.com Agenda Use cases: Een korte geschiedenis Waarom nog steeds use cases gebruiken? Waarom Use-Case 2.0?

Nadere informatie

Data Handling Ron van Lammeren - Wageningen UR

Data Handling Ron van Lammeren - Wageningen UR Data Handling 1 2010-2011 Ron van Lammeren - Wageningen UR Can I answer my scientific questions? Geo-data cycle Data handling / introduction classes of data handling data action models (ISAC) Queries (data

Nadere informatie

The Leading Open Source MDA Platform. openmdx 2 Overview. June

The Leading Open Source MDA Platform. openmdx 2 Overview. June openmdx 2 Overview June 2008 openmdx 2 New Features Mappings / Bindings MOF CCI2 MOF JMI2 MOF JDO2 Providers / Architecture JDO PersistenceManager architecture Plugin architecture Gateway Persistence Lightweight

Nadere informatie

DATAMODELLERING BASIS UML KLASSEMODEL

DATAMODELLERING BASIS UML KLASSEMODEL DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Zelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Zelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Zelftest OOAD/UML Document: N0767Test.fm 30/08/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is gebaseerd op de inhoud van onze cursus OO

Nadere informatie

Deel I Hoofdstuk 2: Het klassenmodel

Deel I Hoofdstuk 2: Het klassenmodel Deel I Hoofdstuk 2: Het klassenmodel 2005 Prof Dr. O. De Troyer Klasse Model pag. 1 Hoofdstuk 2: Het klassenmodel Het Klassenmodel Beschrijft de statische structuur van een systeem door middel van Het

Nadere informatie

Enterprisearchitectuur

Enterprisearchitectuur Les 2 Enterprisearchitectuur Enterprisearchitectuur ITarchitectuur Servicegeoriënteerde architectuur Conceptuele basis Organisatiebrede scope Gericht op strategie en communicatie Individuele systeemscope

Nadere informatie

Enterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling

Enterprise Connectivity. Marnix van Bo. TU Delft Elek Software Architect 20 jaar ervarin ontwikkeling Fir rst Base Enterprise Connectivity Marnix van Bo chove First Base: opgericht in 2001 TU Delft Elek ktrotechniek - 1998 Software Architect 20 jaar ervarin g met software ontwikkeling Presentatie Ideeën

Nadere informatie

Het SEESCOA project; jouw user interface, altijd en overal

Het SEESCOA project; jouw user interface, altijd en overal Het SEESCOA project; jouw user interface, altijd en overal Kris Luyten Karin coninx 17 januari 2002 Samenvatting De informatica kende een ware revolutie voordat men tot de desktop PC gekomen is. 20 jaar

Nadere informatie

DATAMODELLERING GEAVANCEERD UML KLASSEMODEL

DATAMODELLERING GEAVANCEERD UML KLASSEMODEL DATAMODELLERING GEAVANCEERD UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm geavanceerd UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Risk & Requirements Based Testing

Risk & Requirements Based Testing Risk & Requirements Based Testing Tycho Schmidt PreSales Consultant, HP 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Agenda Introductie

Nadere informatie

Continuous testing in DevOps met Test Automation

Continuous testing in DevOps met Test Automation Continuous ing in met Continuous testing in met Marco Jansen van Doorn Tool Consultant 1 is a software development method that emphasizes communication, collaboration, integration, automation, and measurement

Nadere informatie

Introductie ArchiMate

Introductie ArchiMate Introductie ArchiMate NAF Insight De Meern, 8 maart 2012 Egon Willemsz, enterprise architect UWV Programma Waarom ArchiMate? Praktijkvoorbeelden Samenvatting concepten Van start met ArchiMate Tot besluit

Nadere informatie

Unified Modeling Language ACTIVITY DIAGRAMS

Unified Modeling Language ACTIVITY DIAGRAMS Unified Modeling Language ACTIVITY DIAGRAMS Alle Metzlar UML 19 augustus 2014 Inleiding Use case diagrammen laten zien wat het (informatie)systeem zou moeten doen. Activiteiten diagrammen laten zien hoe

Nadere informatie

TPUPT Gebruikershandleiding

TPUPT Gebruikershandleiding TPUPT Gebruikershandleiding René Ladan, r.c.ladan@gmail.com 3 oktober 2006 1 Introductie TPUPT staat voor Two Phase UML Phunction Transformer, het afstudeerproject van de auteur. Het biedt de mogelijkheid

Nadere informatie

ETS 4.1 Beveiliging & ETS app concept

ETS 4.1 Beveiliging & ETS app concept ETS 4.1 Beveiliging & ETS app concept 7 juni 2012 KNX Professionals bijeenkomst Nieuwegein Annemieke van Dorland KNX trainingscentrum ABB Ede (in collaboration with KNX Association) 12/06/12 Folie 1 ETS

Nadere informatie

NARCIS in internationale context: OpenAIRE

NARCIS in internationale context: OpenAIRE NARCIS in internationale context: OpenAIRE Elly Dijk Senior beleidsmedewerker DANS/NARCIS NOAD OpenAIRE Landelijke Workshop Onderzoekinformatie KB, 3 september 2019 dans.knaw.nl DANS is een instituut van

Nadere informatie

CLOUDSTRATEGIE. voor Stedin Netbeheer. v1.0 26/03/2019

CLOUDSTRATEGIE. voor Stedin Netbeheer. v1.0 26/03/2019 CLOUDSTRATEGIE voor Stedin Netbeheer v1.0 26/03/2019 Hoe analyseer je ruim 400 applicaties? Binnen een periode van zes maanden? Leuk u te ontmoeten! koen.vanschijndel@weolcan.eu 0614771300 blog.weolcan.eu

Nadere informatie

UNECE/UNESCAP Workshop on. Electronic Trade Documents. Ulaanbaatar, Mongolia, October 2009

UNECE/UNESCAP Workshop on. Electronic Trade Documents. Ulaanbaatar, Mongolia, October 2009 /UNESCAP Workshop on Electronic Trade Documents Ulaanbaatar, Mongolia, October 2009 Presentation Need for digital paper documents Developing Electronic documents for SW Using Digital Paper in Supply Chains

Nadere informatie

Luchthaven Simulatie. 1 Samenvatting. 2 Context

Luchthaven Simulatie. 1 Samenvatting. 2 Context Luchthaven Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2018 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem

Nadere informatie

J2EE/.NET en de rol Applicatie Architectuur

J2EE/.NET en de rol Applicatie Architectuur J2EE/.NET en de rol Applicatie Architectuur Edwin van Dillen evdillen@sogyo.nl 2003 Sogyo Information Engineering 1 Sogyo information engineering! IT Innovator sinds 1995! Klanten: ABN AMRO, Rabobank,

Nadere informatie

Webapplicatie-generatie NIOC 2013

Webapplicatie-generatie NIOC 2013 Webapplicatie-generatie NIOC 2013 Eddy Luursema, Misja Nabben, Arnoud van Bers Research Group Model Based Information Systems Presentation Introduction M-BIS Data intensive systems Requirements Generation

Nadere informatie

3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV

3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV 3HUIRUPDQFH0HDVXUHPHQW RI'\QDPLFDOO\&RPSLOHG -DYD([HFXWLRQV Tia Newhall and Barton P. Miller {newhall *, bart}@cs.wisc.edu Computer Sciences University of Wisconsin 1210 W. Dayton St. Madison, WI 53706

Nadere informatie

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

UML is een visuele taal om processen, software en systemen te kunnen modeleren. Vragen inleinding UML 1. Wat is UML? UML is een visuele taal om processen, software en systemen te kunnen modeleren. 2. Waar bestaat UML uit? Notaties(zijn symbolen, commentaar en waarden etc.) en diagrammen(grafische

Nadere informatie

Voor en nadelen (spatieel) gedistribueerd

Voor en nadelen (spatieel) gedistribueerd Voor en nadelen (spatieel) gedistribueerd Centraal Dynamische regelbaarheid Gedistribueerd Communicatie hogere systeemlagen Communicatie lagere systeemlagen Fouttolerantie Faalgedrag Schaalbaarheid Complex

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE

GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE GETTING THE BEST OUT OF YOUR SOURCE CODE MODERNISEREN MET UNIFACE 2 OMNEXT IN HET KORT Broncode als bron van informatie Gevestigd in NL, UK en USA Kennis van meer dan 40 diverse technologieën Verschillende

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

Perceptive Process. Release Notes. Version: 3.5.x

Perceptive Process. Release Notes. Version: 3.5.x Perceptive Process Release Notes Version: 3.5.x Written by: Product Knowledge, R&D Date: December 2015 2015 Lexmark International Technology, S.A. All rights reserved. Lexmark is a trademark of Lexmark

Nadere informatie

Demo document template available on the Rapptorlab website

Demo document template available on the Rapptorlab website Proef ingediend met het oog op het behalen van de graad van bachelor in de Ingenieurswetenschappen Demo document template available on the Rapptorlab website Course/thesis example Laurent Segers, Tom van

Nadere informatie

Aspects of Feedback in Intelligent Tutoring Systems for Modeling Education. Harrie Passier 23 november 2013

Aspects of Feedback in Intelligent Tutoring Systems for Modeling Education. Harrie Passier 23 november 2013 Aspects of Feedback in Intelligent Tutoring Systems for Modeling Education Harrie Passier 23 november 2013 Agenda Voor 2002 2004 2006 2006 2011 2012 2012 2013 13 september 2013 Voor 2002 Voltijd Mavo-4

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

BiZZdesign. Bouwen van sterke en wendbare organisaties met behulp van standaarden, methode, technieken en tools. Research & Development

BiZZdesign. Bouwen van sterke en wendbare organisaties met behulp van standaarden, methode, technieken en tools. Research & Development BiZZdesign Bouwen van sterke en wendbare organisaties met behulp van standaarden, methode, technieken en tools Research & Development 1 Profile CV Joost Niehof Name Grade Nationality Residence Role Joost

Nadere informatie

3.1 Opsomming data type

3.1 Opsomming data type Deel I Hoofdstuk 3: Klasse Model - gevorderd 2005 Prof Dr. O. De Troyer Klasse Model - gevorderd pag. 1 3.1 Opsomming data type Opsomming (enumeration) data type Data type waarvan de verzameling waarden

Nadere informatie

Datamodelleren en databases 2011

Datamodelleren en databases 2011 Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued

Nadere informatie

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation

Contents. Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation TeleBank Contents Introduction Problem Definition The Application Co-operation operation and User friendliness Design Implementation Introduction - TeleBank Automatic bank services Initiates a Dialog with

Nadere informatie

Component-based software engineering

Component-based software engineering Component-based software engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 19 Slide 1 CBSE essentials Independent components gespecificeerd door hun interfaces. Component standards

Nadere informatie

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13 5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische

Nadere informatie

Domain Specific Languages

Domain Specific Languages Op het gebied van applicatieontwikkeling speelt het modelleren een steeds belangrijkere rol. Het succes van UML en de opkomst van MDA zijn hier sprekende voorbeelden van. Microsoft heeft in eerste instantie

Nadere informatie

ELEKTRONISCH FACTUREREN MET UBL IN EEN EUROPEES KADER. Dennis Krukkert

ELEKTRONISCH FACTUREREN MET UBL IN EEN EUROPEES KADER. Dennis Krukkert ELEKTRONISCH FACTUREREN MET UBL IN EEN EUROPEES KADER Dennis Krukkert EVEN VOORSTELLEN.. Elektronisch factureren TC434 WS5 HET E-FACTUREREN SPEELVELD (2014) INHOUD PRESENTATIE Aanleiding Organisatie en

Nadere informatie

RESEARCH DATA MANAGEMENT INNOVATIE & SURF

RESEARCH DATA MANAGEMENT INNOVATIE & SURF RESEARCH DATA MANAGEMENT INNOVATIE & DIENSTONTWIKKELING @ SURF Wat is Research Management? Research data management is an explicit process covering the creation and stewardship of research materials to

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: 5 - Mockito Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten

Nadere informatie

Abstraheren van modellen

Abstraheren van modellen Abstraheren van modellen Geert Delanote 7 maart 2005 Geert.Delanote@cs.kuleuven.ac.be Software Development Methodology 1 Inhoudstafel Motivatie Denkpistes Software Development Methodology 2 Motivatie Verslag

Nadere informatie

CLIPS en het Rete-algoritme. Productieregels in CLIPS. Feiten. Productiesysteem (voorbeeld)

CLIPS en het Rete-algoritme. Productieregels in CLIPS. Feiten. Productiesysteem (voorbeeld) CLIPS en het Rete-algoritme CLIPS: acroniem voor C Language Integrated Production System Verwant aan OPS5 (Carnegie-Mellon University), en gebaseerd op ART (Artificial Reasoning Tool) Ontwikkeld door Lyndon

Nadere informatie

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

Add the standing fingers to get the tens and multiply the closed fingers to get the units. Digit work Here's a useful system of finger reckoning from the Middle Ages. To multiply $6 \times 9$, hold up one finger to represent the difference between the five fingers on that hand and the first

Nadere informatie

DATAMODELLERING ARCHIMATE DATAMODELLERING

DATAMODELLERING ARCHIMATE DATAMODELLERING DATAMODELLERING ARCHIMATE DATAMODELLERING Inleiding In dit whitepaper wordt de datamodelleervorm ArchiMate datamodellering beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké

Big Data en Testen samen in een veranderend speelveld. Testnet 10 april 2014 Paul Rakké Big Data en Testen samen in een veranderend speelveld Testnet 10 april 2014 Paul Rakké Kernvraag Is het testen van Big Data omgevingen, applicaties en de data anders dan het testen van meer traditionele

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

NHibernate als ORM oplossing

NHibernate als ORM oplossing NHibernate als ORM oplossing Weg met de SQL Queries Wat is ORM? ORM staat in dit geval voor Object Relational Mapping, niet te verwarren met Object Role Modeling. ORM vertaalt een objectmodel naar een

Nadere informatie

SHICO: SHIFTING CONCEPTS OVER TIME

SHICO: SHIFTING CONCEPTS OVER TIME SHICO: SHIFTING CONCEPTS OVER TIME Tracing Concepts in Dutch Newspaper Discourse using Sequential Word Vector Spaces Melvin Wevers Translantis Project Digital Humanities Approaches to Reference Cultures:

Nadere informatie

VOORKOM CONFIGURATIE CONFLICTEN EN ACTIVERINGSISSUES TUSSEN SAP PI KLASSIEKE EN JAVA-ONLY SCENARIO S

VOORKOM CONFIGURATIE CONFLICTEN EN ACTIVERINGSISSUES TUSSEN SAP PI KLASSIEKE EN JAVA-ONLY SCENARIO S VOORKOM CONFIGURATIE CONFLICTEN EN ACTIVERINGSISSUES TUSSEN SAP PI KLASSIEKE EN JAVA-ONLY SCENARIO S Door Roberto Viana-Blanco / Enterprise Integration Architect @Rojo Consultancy INTEGRATED CONFIGURATION

Nadere informatie

DATAMANAGEMENT MET OPEN SOURCE

DATAMANAGEMENT MET OPEN SOURCE DATAMANAGEMENT MET OPEN SOURCE Bart Hansen Solution Architect bij TUI Jacob Hoeflaken Technology Leader bij Axians 1 WIE ZIJN WIJ? Jacob Hoeflaken Technology Leader Axians Integrated Solutions Bart Hansen

Nadere informatie