multi level modeling with xml
play

Multi-Level Modeling with XML Dr. Jens Gulden Information Systems - PowerPoint PPT Presentation

5 th International Workshop on Multi-Level Modeling MULTI 2018 Copenhagen, October 16, 2018 Multi-Level Modeling with XML Dr. Jens Gulden Information Systems and Enterprise Modeling, ICB Institute for Computer Science and Business


  1. 5 th International Workshop on Multi-Level Modeling MULTI 2018 – Copenhagen, October 16, 2018 Multi-Level Modeling with XML Dr. Jens Gulden Information Systems and Enterprise Modeling, ICB Institute for Computer Science and Business Information Systems University of Duisburg-Essen, Germany Institut für Informatik und Wirtschaftsinformatik (ICB)

  2. Agenda  State of MLM Tooling Support  Benefits of a Multi-Level XML Format  Research Questions  Requirements and Approach  Prototype Implementation  Related Work  Limitations & Conclusion 2 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  3. State of MML Tooling Support  Variety of (prototypical) tools  Mixed concepts / homonyms, synonyms  Lack of a standardized representation of multi- level models  Could serve as a means of communication among modeling experts  Collections of multi-level models in central places  Integration of different multi-level modeling tools 3 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  4. Benefits of a Multi-Level XML Format  XML offers existing language infrastructure  standard syntax  XML Schema Definition (XSD)  query and transformation languages XPath, XSLT  Extension mechanisms are language- inherent  Existing schema validation mechanism  Readable by human experts + suitable as technical exchange format 4 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  5. Research Questions  Q1: How can XML be extended in a way that both instance and type characteristics can be represented by XML entity elements?  Q2: How can schema validation be adapted to multi-level XML? 5 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  6. Requirements and Approach Language Design: core idea is to re-use the existing XML type definition technology by lightweight extensions  Req. 1: Combine type definitions and instance entity definitions  Req. 2: Provide multi-level features : abstraction levels, intrinsic features  Req. 3: Design with minimal invasive changes to existing standards  Req. 4: Implement with recursion to existing schema validation 6 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  7. Syntax Proposal <element { attr N ="..." } [ ml:level="level" ] <element { attr N ="..." } [ ml:level="level" ] [ ml:of="parent" ] [ ml:of="parent" ] [ ml:abstract=" [ true ] " ] > [ ml:abstract=" [ true ] " ] > [ <xsd:complexType> [ <xsd:complexType> ... schema declarations ... ... schema declarations ... </xsd:complexType> ] </xsd:complexType> ] { <child N {attr N ="..."} > ... </child N > } { <child N {attr N ="..."} > ... </child N > } [ text content ] [ text content ] </element> </element> <xsd:complexType> <xsd:complexType> <xsd:sequence> <xsd:sequence> { <xsd:element { attr N ="..." } { <xsd:element { attr N ="..." } [ ml:intrinsic="level" | ml:potency="levels" ] > ... [ ml:intrinsic="level" | ml:potency="levels" ] > ... </xsd:element> } </xsd:element> } </xsd:sequence> </xsd:sequence> { <xsd:attribute { attr N ="..." } { <xsd:attribute { attr N ="..." } [ ml:intrinsic="level" | ml:potency="levels" ] > ... [ ml:intrinsic="level" | ml:potency="levels" ] > ... </xsd:attribute> } </xsd:attribute> } </xsd:complexType> </xsd:complexType> 7 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  8. <ingredients xmlns:ml= "urn:ml" xmlns:xs= "http://www.w3.org/2001/XMLSchema" > Example <ingredient ml:abstract= "yes" > <xs:complexType> <xs:sequence> <!-- <xs:element ref="name"/> (implicit by language) --> <xs:element name= "tasteDescription" type= "xs:string" ml:potency= "2" /> </xs:sequence> <xs:attribute name= "healthy" type= "xs:boolean" ml:potency= "1" /> </xs:complexType> </ingredient> <vegetarianIngredient ml:of= "ingredient" healthy= "true" > <xs:complexType> <xs:sequence> <xs:attribute name= "healthy" type= "xs:boolean" /> </xs:sequence> </xs:complexType> </vegetarianIngredient> <spice ml:of= "ingredient" > <xs:complexType> <xs:attribute name= "appetizing" type= "xs:boolean" /> <xs:attribute name= "sudatory" type= "xs:boolean" /> <!-- makes you sweat --> <xs:attribute name= "digestive" type= "xs:boolean" /> </xs:complexType> <aMistake>a mistake</aMistake> </spice> <pepper ml:of= "spice" color= "red" > <xs:complexType> <xs:attribute name= "color" type= "pepperColor" /> </xs:complexType> <tasteDescription>very tasty!</tasteDescription> </pepper> <!-- this is a regular level-agnostic auxiliary XML Schema definition --> <xs:simpleType name= "pepperColor" final= "restriction" > <xs:restriction base= "xs:string" > <xs:enumeration value= "green" /> <xs:enumeration value= "black" /> <xs:enumeration value= "white" /> <xs:enumeration value= "red" /> </xs:restriction> </xs:simpleType> <salt ml:of= "spice" > <xs:complexType> <xs:attribute name= "avgLifetime" type= "xs:double" /> </xs:complexType> <tasteDescription>very tasty!</tasteDescription> </salt> 8 <pepper color= "green" /> Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen </ingredients>

  9. Example (zoomed) <ingredients xmlns:ml= "urn:ml" xmlns:xs= "http://www.w3.org/2001/XMLSchema" > <ingredient ml:abstract= "yes" > <xs:complexType> <xs:sequence> <!-- <xs:element ref="name"/> (implicit by language) --> <xs:element name= "tasteDescription" type= "xs:string" ml:potency= "2" /> </xs:sequence> <xs:attribute name= "healthy" type= "xs:boolean" ml:potency= "1" /> </xs:complexType> </ingredient> <vegetarianIngredient ml:of= "ingredient" healthy= "true" > <xs:complexType> <xs:sequence> <xs:attribute name= "healthy" type= "xs:boolean" /> </xs:sequence> </xs:complexType> </vegetarianIngredient> <spice ml:of= "ingredient" > <xs:complexType> <xs:attribute name= "appetizing" type= "xs:boolean" /> <xs:attribute name= "sudatory" type= "xs:boolean" /> <!-- makes you sweat --> <xs:attribute name= "digestive" type= "xs:boolean" /> </xs:complexType> <aMistake>a mistake</aMistake> </spice> <pepper ml:of= "spice" color= "red" > <xs:complexType> <xs:attribute name= "color" type= "pepperColor" /> </xs:complexType> <tasteDescription>very tasty!</tasteDescription> 9 </pepper> Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  10. Schema Validation  Idea: multi-level document transformed to 2-level XML schema , then run regular validator  → Req. 4 (lightweight, backward-compatible)  Theoretic proof for backward-compatibility  Documents architecture: 10 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  11. Prototype Implementation .xml .xsl .xsd 1 2 11 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  12. Prototype Implementation .xml .xsl .xsd 1 ☞ ☞ Source code download: Source code download: 2 https://www.wi-inf.uni-due.de/FGFrank/download/mxml-0.1.0.zip https://www.wi-inf.uni-due.de/FGFrank/download/mxml-0.1.0.zip 12 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  13. Related Work  MultEcore: .xmi + .ecore  each abstraction level in one Ecore model  extension of Ecore to a multi-level architecture achieved by organizing multiple single-level models  M-Objects’s XML storage format  according to author  MetaDepth: other textual representation  Attention: “multi-level XML document”  sometimes meaning XML document with a nesting depth of children elements greater than one 13 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  14. Limitations & Conclusion  Only first step, language still is incomplete  Chance for systematic unification of existing approaches  Proof-of-concept for XML-based multi-level exchange format, fulfills requirements.  Future Work:  create meta-model to unify concepts of existing different approaches  write exporters / importers for existing tools as proof-of-concept, e. g., for XModeler 14 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

  15. Thank you Thank you Jens Gulden jens.gulden@uni-due.de 15 Jens Gulden | Multi-Level Modeling with XML | 2018-10-16 | Copenhagen

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend