OCL Integration and Code Generation
Upcoming SlideShare
Loading in...5
×
 

OCL Integration and Code Generation

on

  • 506 views

Presentation of recent work to EclipseCon Europe 2013 Modeling Symposium.

Presentation of recent work to EclipseCon Europe 2013 Modeling Symposium.

Statistics

Views

Total Views
506
Views on SlideShare
506
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

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

    OCL Integration and Code Generation OCL Integration and Code Generation Presentation Transcript

    • OCL Integration and Code Generation Edward Willink (Eclipse MMT co-lead) Eclipse OCL lead Eclipse QVTd lead Eclipse QVTo committer OMG OCL 2.4 RTF chair OMG QVT 1.2 RTF chair OMG UML 2.5 FTF rep EclipseCon Europe, Ludwigsburg 29th October 2013 Made available under EPL 1.0
    • OCL Overview Executable specification language used for the hard bits of UML, ... simple model ops if self <> null then self.name else 'no-self' endif powerful collection operations self.children->isUnique(name) Side effect free contributes to strong analysis and optimisation Useless needs a model providing environment OCL Integration and Code Generation Made available under EPL 1.0 3
    • Out Of The Box EMF Code Generation OCL Integration and Code Generation Made available under EPL 1.0 4
    • OCLinEcore editor for OCL Delegates OCL Integration and Code Generation Made available under EPL 1.0 5
    • OCL Delegates EMF Code Generation OCL Integration and Code Generation Made available under EPL 1.0 6
    • OCL to Java GenModel Options OCL Integration and Code Generation Made available under EPL 1.0 7
    • OCL to Java EMF Code Generation OCL Integration and Code Generation Made available under EPL 1.0 8
    • OCL to Java Dispatch Tables EMF XXXPackageImpl hierarchy of EClass objects multi-dimensional searches for types/parameters OCL to Java XXXTables flat tables constant time lookups OCL Integration and Code Generation Made available under EPL 1.0 9
    • Xtext Integration OCL Integration and Code Generation Made available under EPL 1.0 10
    • Xtext Integration - OCL Document OCL Integration and Code Generation Made available under EPL 1.0 11
    • Xtext Integration - OCL Loading Wherever selection is convertible to EObject EObject ==> ResourceSet Sample Ecore Editor Outlines Xtext editors (including Xtext) UML editors load additional Complete OCL Resource ResourceSet-specific EValidator.Registry add-on OCL Integration and Code Generation Made available under EPL 1.0 12
    • Xtext Integration - OCL Helpers AutoContent Assist Comments from declaration OCL Integration and Code Generation Made available under EPL 1.0 13
    • Xtext Integration - OCL Invariants Invariants support debug/style rules Extra operations to aid navigation OCL Integration and Code Generation Made available under EPL 1.0 14
    • UML Integration OCL Integration and Code Generation Made available under EPL 1.0 15
    • Papyrus Integration OCL Integration and Code Generation Made available under EPL 1.0 16
    • UML+OCL to Java Helios, Indigo, Juno OCL in UML exported with obsolete namespace Kepler namespace fixed (invariants, operations) OCL delegates or OCL to Java code generator properties in progress Papyrus quite tricky to get right needs a UI Wizard OCL Integration and Code Generation Made available under EPL 1.0 17
    • OCL to Java 'for everything' Currently Abstract Syntax validation rules QVT declaration code generation Work In Progress UML 2.5 embedded OCL avoid need to retranscibe manually Name lookups Concrete Syntax to Abstract Syntax mappings Future OCL-defined code can be incremental OCL Integration and Code Generation Made available under EPL 1.0 18
    • QVTi Preliminary Performance 20x OCL Integration and Code Generation Made available under EPL 1.0 19
    • Summary OCL useless by itself Increasingly useful with IDE model tools (Xtext), UML, Papyrus Increasingly acceptable with Code Generation ? QVTi is the first Eclipse MtoM CG OCL Integration and Code Generation Made available under EPL 1.0 20