1 / 19

Design Overview

Design Overview. Generated Packages. fUML.Library.* - generated fUML.Semantics.* - generated fUML.Syntax.* - generated fUML.Test.* - generated fUML.Utility.* - generated. Custom Packages Technologies. Stream Parsing (StAX) XML Schema Java Data Binding XML. Custom Packages.

rufin
Download Presentation

Design Overview

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