MOSKitt Transformations And Traceability
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

MOSKitt Transformations And Traceability

on

  • 1,780 views

 

Statistics

Views

Total Views
1,780
Views on SlideShare
1,739
Embed Views
41

Actions

Likes
0
Downloads
11
Comments
0

6 Embeds 41

https://confluence.prodevelop.es 32
http://www.steampdf.com 3
http://www.slideee.com 3
http://www.slideshare.net 1
http://www.linkedin.com 1
https://www.linkedin.com 1

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

MOSKitt Transformations And Traceability Presentation Transcript

  • 1.
    • Javier Muñoz – Miguel Llacer
    • {jmunoz,mllacer}@prodevelop.es
    • Prodevelop
    MOSKitt Infrastructure to Manage Transformations and Traceability
  • 2. Contents
    • Goals
    • Selecting Transformations
    • Configuring Transformations
    • Executing Transformations
    • Editing Traces
    • Synchronizing
    • Conclusions
  • 3. Goals
    • MOSKitt is a MDSD tool
    • Model Transformations are key on MDSD
    • MOSKitt needs infrastructure to support Model Transformations functionality
      • Invocation
      • Configuration
      • Traceability
      • Synchronization,
      • etc.
  • 4. Goals
    • A common scenario in MDSD tools:
      • T ransform UML2 model into DB model
      • Configure transformation
        • E.g.: ¿How to transform inheritances? ¿Which classes must be transformed and wich not?
      • Tweak (or create) traces between models
      • Keep models synchronized
        • Changes on UML2 trigger DB model updates
  • 5. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 6. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 7. Selecting a Transformation
    • Two mechanisms:
  • 8. Selecting a Transformation
    • How to register a transformation?
      • Define in a plug-in an extension to es.cv.gvcase.trmanager.transformation
      • Implement a class that extends es.cv.gvcase.trmanager.Transformation
    • Extension properties
    • Trasformation unique identifier
    • Name
    • Transformation kind identifier
    • Priority
    • Package
    • Priority
    • Implementing class
    • Input/Output resources
    • File extension
    • Configuration producer class
  • 9. Selecting a Transformation
    • Transformation interface
    • public boolean inputsValid(HashMap<String, TransformedResource> inputs, List<String> errorList)
      • return value : are the input models valid to apply the transformation?
      • inputs : a hash map where keys are the input argument names and values reference the resource:
          • TransformedResource
            • getName()
            • getPath()
      • errorList : a list of strings that describe the execution result. t is shown to users.
    • public boolean transform(HashMap<String, TransformedResource> inputs, HashMap<String, TransformedResource> outputs, List<String> errorList)
      • return value : was the transformation carried out ok?
      • inputs : a hash map where keys are the input argument names and values reference the resource
      • outputs : a hash map where keys are the output argument names and values reference the resource.
      • errorList : a list of strings that describe the execution result. t is shown to users.
  • 10. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 11. Configuring the Transformation
    • Goal : support the transformations configuration process
    • Based on FEFEM infraestructure
    • Rules Catalog MM & Configuration MM
      • Rules : what can be configured for transformation T?
      • Configuration : which are the selected options when transforming model M with transformation T?
    • Configuration model is automatically generated:
        • transformation declared in extension point
  • 12. Configuring the Transformation Model X Configuration Initializer Transformation T Model Output Config.of Model X for Transf. T Rules Catalog for Transf. T
  • 13. Configuring the Transformation
  • 14. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 15. Executing the Transformation
    • Wizard to executed the transformation
    1.- Select Parameters 2.- Configure 3.- Validate inputs 4.- Show results
  • 16. Executing the Transformation UML Model “ X.uml” UML2DB Transformation DB Model “ Y.sqlschema” Config.of Model M.uml for Transf. UML2DB Traces between “ X.uml” and “ Y.sqlschema”
  • 17. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 18. Editing Traces
    • Trace Generation:
      • Based on AMW metamodel (with modifications)
        • Traced Models
            • - n models
            • - no input/output semantic
        • Traced Links
            • - links between arbitrary elements
  • 19. Editing Traces
    • Traces Editor:
      • Based on FEFEM
    Trace Links Traced Elements
  • 20. Goals
    • A common scenario in MDSD tools:
    Selecting a Transformation Configuring the Transformation Executing the Transformation Editing Traces Synchronizing on modifications
  • 21. Synchronizing on modifications UML Model “ X.uml” DB Model “ Y.sqlschema” Traces between “ X.uml” and “ Y.sqlschema”
  • 22. Synchronization infrastructure
    • Based on a listener that listens model changes
      • Traces between models are required
    • How to implement a Synchronizer?
      • Define an extension to es.cv.gvcase.modelsync.core.Listener
      • Implement a class that extends es.cv.gvcase.modelsync.core.listener.Synchronizer
        • just one method: elementChanged()
  • 23. Synchronization
    • When IN model is modified, the synchronizer creates a differences model
    • ATL transformation must be implemented to generate a new differences model
      • What modifications must be applied to OUT model?
  • 24. Synchronization
    • Finally, another ATL transformation applies updates:
      • updates OUT model
      • updates Traces model
  • 25. Conclusions
    • Technological Infrastructure:
      • From Eclipse: ATL, AMW, EMFCompare
      • From MOSKitt:
        • Transformation Registry
        • Transformations Configuration
        • Models Traceability and Synchronization
    • It's in practice!!
    • Future:
      • Feedback & evolution
      • New functionalities? Sync. on demand?
  • 26.
    • Javier Muñoz – Miguel Llacer
    • {jmunoz,mllacer}@prodevelop.es
    • Prodevelop
    MOSKitt Infrastructure to Manage Transformations and Traceability