Yet Another Three QVT Languages
Upcoming SlideShare
Loading in...5
×
 

Yet Another Three QVT Languages

on

  • 1,127 views

Lightning Presentation on QVTu/QVTm/QVTi at ICMT 2013

Lightning Presentation on QVTu/QVTm/QVTi at ICMT 2013

Statistics

Views

Total Views
1,127
Views on SlideShare
1,127
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Yet Another Three QVT Languages Yet Another Three QVT Languages Presentation Transcript

  • Made available under EPL 1.0Yet Another Three QVT LanguagesEdward Willink, Willink Transformations LtdHoracio Hoyos, The University of YorkDimitris Kolovos, The University of YorkICMT 2013, Budapest18th June 2013
  • 18-June-2013 Yet Another Three QVT Languages 2Made available under EPL 1.0QVT HistoryModels are goodModel Transformation must be goodOMG: Need a standard2002 RFP: Request for ProposalQVT: Query/View/Transformation standard2003 Competing Proposals - 8 then 72004,5 Merged Proposal => 3 languages2007 QVT 1.0 Standard2011 QVT 1.1 Standard - minor fixes
  • 18-June-2013 Yet Another Three QVT Languages 3Made available under EPL 1.0QVTo - QVT Operational MappingsOperational/Imperative paradigmSmartQVT from France Telecommature since 2008Eclipse QVT Operation Project (from Borland)stagnated in 2009moving again since 201248 fixes in Kepler (June 26 2013)
  • 18-June-2013 Yet Another Three QVT Languages 4Made available under EPL 1.0QVTr - QVT RelationalPowerful, multi-directional Declarative paradigmMedini QVT (from ikv++ technologies)mature since 2011disappointing performanceModelMorf (from Tata)only Beta releases in public domainEclipse QVT Declarative Projectmodels, parsers, editorsno execution
  • 18-June-2013 Yet Another Three QVT Languages 5Made available under EPL 1.0QVTc - QVT CoreSimpler, multi-directional Declarative paradigmEclipse QVT Declarative Projectmodels, parsers, editorsno execution
  • 18-June-2013 Yet Another Three QVT Languages 6Made available under EPL 1.0Three more QVTsDirect QVTr implementation too hardBreak problem into smaller partsProgressive program-to-program transformationExploit Eclipse OCL VM and Java code generatorVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 7Made available under EPL 1.0QVTr to QVTcProvided by the QVT specificationsingle pass, hard to readmany syntax errors, never exercisedrequires a working QVTr tool to convert QVTrre-implement in QVTcVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 8Made available under EPL 1.0QVTc to QVTuMulti-directional powerful for specificationpowerful specification capabilityunhelpful implementation of actual user requirementQVTu - Unidirectional subset of QVTcQVTc to QVTu - discard multi-directional bloatVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 9Made available under EPL 1.0QVTu to QVTmNormal forms more powerful for optimizationpowerful specification capabilityunhelpful implementation of actual user requirementQVTm - Minimal declarative subset of QVTcQVTu to QVTm - discard syntax sugar (eg refinement)VMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 10Made available under EPL 1.0QVTm to QVTiDeclarative semantics inappropriate for implementationintroduce imperative search scheduleexploit metamodelQVTi - Imperative variant subset of QVTcQVTm to QVTi - synthesize an execution scheduleVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 11Made available under EPL 1.0QVTi + OCL to JavaOCLpowerful side-effect free model evaluationQVTidisciplined model mutation, schedulereuse OCL interpreter (and debugger)reuse OCL to Java code generatorVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Java
  • 18-June-2013 Yet Another Three QVT Languages 12Made available under EPL 1.0QVTi enhancementsQVT Declarative (Core/Relational)Declarative rule matchingQVT ImperativeExplicit Mapping Call with bindingsmap NestedMapping {guardPatternVariable1 <= collectionOfBindings;guardPatternVariable2 := explicitBinding;}
  • 18-June-2013 Yet Another Three QVT Languages 13Made available under EPL 1.0QVTi Preliminary Performance
  • 18-June-2013 Yet Another Three QVT Languages 14Made available under EPL 1.0Demonstration / PosterEclipse QVT Declarative ProjectKepler release (June 26 2013)QVTr Xtext editor/parserQVTc Xtext editor/parserQVTi Xtext editor/parserQVTr -> QVTc -> QVTm -> QVTi (Luna)QVTi interpreterQVTi to Java code generatorQVTi debugger (Luna)
  • 18-June-2013 Yet Another Three QVT Languages 15Made available under EPL 1.0QVTu OpportunitiesInterchange point for alternative declarative syntaxesVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + JavaATL ETL
  • 18-June-2013 Yet Another Three QVT Languages 16Made available under EPL 1.0QVTm OpportunitiesNormalized formcomposition of multiple transformationsvariety of declarative languagesoptimization of the compositionVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Javacomposition
  • 18-June-2013 Yet Another Three QVT Languages 17Made available under EPL 1.0QVTi OpportunitiesInterchange point for alterative imperative syntaxesLegacy rescue of imperative transformationsexploit composition of declarative transformationsVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + Javalegacy rescue QVTo
  • 18-June-2013 Yet Another Three QVT Languages 18Made available under EPL 1.0Shared tool chainNew transformation languageleverage interpreter/debugger/optimizers/composersBetter debuggerreuseable by many languagesVMNew Intermediate LanguagesQVT DeclarativeQVTr QVTc QVTuQVTc QVTm QVTiOCLUMLQVTi + JavaInterpreters/DebuggersOptimizers/Composers/RescuersEditors
  • 18-June-2013 Yet Another Three QVT Languages 19Made available under EPL 1.0SummaryEclipse QVT Declarative moving at lastQVTc/QVTr editors in Helios (2010)QVTi execution in Kepler (2013)QVTi code generation in Kepler (2013)20 times speed upQVTr execution targeted for Luna (2014)QVTi/c/r debugger targeted for Luna (2014)Eclipse QVT Operational moving againXtext editor targeted for Luna (2014)alignment with QVTd and OCL projects