1 / 19

Efficient Integration Package for Stream Parsing and Model Validation

This package provides efficient stream parsing and model validation capabilities, with fast lookups and detailed error messages. It encapsulates traversal logic and supports controlled internal metadata imports. The visitor pattern-based approach ensures smooth processing.

rufin
Télécharger la présentation

Efficient Integration Package for Stream Parsing and Model Validation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design Overview

  2. Generated Packages • fUML.Library.* - generated • fUML.Semantics.* - generated • fUML.Syntax.* - generated • fUML.Test.* - generated • fUML.Utility.* - generated

  3. Custom PackagesTechnologies • Stream Parsing (StAX) • XML Schema • Java Data Binding • XML

  4. Custom Packages • fuml.model.* - runtime metadata • fuml.xmi.* - XMI import processing • fuml.xmi.stream.* - Stream imports • fuml.xmi.bind.* - XML Schema • fuml.xmi.validation .* - XMI Validation • fuml.assembly .* - creates fUML object-graphs • fuml.library .* - loads fUML libraries • fuml.event .* - event support

  5. Custom Packages

  6. org.modeldriven.fuml.model • Runtime available fUML metadata • Loads configurable set of metadata files • Fast Lookups: Package, Classifier, Property, Multiplicity, Defaults etc.. • (XML Schema) Generated Java Model • Performs metadata document merge (initial)

  7. org.modeldriven.fuml.xmi • Visitor pattern based • Encapsulates traversal logic • Abstracts stream/data-binding processing • Abstracts internal/external processing

  8. org.modeldriven.fuml.xmi Class Diagram

  9. org.modeldriven.fuml.xmi.stream • StAX (stream) pull-parser • Flexible – event based and stream based • Efficient – only read events you want • External XMI imports • Internal/External Library imports

  10. org.modeldriven.fuml.xmi.streamClass Diagram

  11. org.modeldriven.fuml.xmi.bind • JAXB Data-Binding based • XML Schema based (problematic for external imports) • Controlled internal metadata imports

  12. org.modeldriven.fuml.xmi.validation • Strict model-driven XMI validation • Visitor pattern based • 2-level Error classification • Detailed error messages • Detachable from execution environment

  13. org.modeldriven.fuml.xmi.validationClass Diagram

  14. org.modeldriven.fuml.assembly • "Direct-to-fUML" approach • Visitor pattern based • 3-stage assembly • primitive features • reference features • hierarchical relationships

  15. org.modeldriven.fuml.assemblyClass Diagram

  16. org.modeldriven.fuml.library • Loads configurable set of XMI files • Performs strict model-driven validation • Assembles fUML object graph(s) • Cross references root elements with URIs

  17. org.modeldriven.fuml.libraryClass Diagram

  18. org.modeldriven.fuml.event • Support web applications • Support third-party tools • Discuss!

  19. org.modeldriven.fuml.eventClass Diagram

More Related