modelicaxml
play

ModelicaXML A Modelica XML representation with Applications - PowerPoint PPT Presentation

ModelicaXML A Modelica XML representation with Applications Adrian Pop, Peter Fritzson Programming Environments Laboratory Linkping University Outline Introduction Why XML? XML, DTD ModelicaXML ModelicaXML Applications


  1. ModelicaXML A Modelica XML representation with Applications Adrian Pop, Peter Fritzson Programming Environments Laboratory Linköping University

  2. Outline � Introduction � Why XML? � XML, DTD � ModelicaXML � ModelicaXML Applications � Problems with XML � S emantic Web Languages � Conclusions and Future Work November 04, 2003 2

  3. Introduction � Modelica has a fast growing code base � Modelica adopters have to develop their own tools for tasks like: � analysis of models (checkers and validators) � pretty printing (un-parsing) � interchange with other modeling languages � query and transformation of models � impose code style guidelines � documentation � All these utilities � need easy access to the structure of the language � should interoperate. November 04, 2003 3

  4. Why XML? � S tore the structure of the Modelica code using an alternative representation � Perform the tasks on this alternative representation � The alternative representation should � be easy accessible from any programming language � be easy to transform, query and manipulate � support validation � XML has all these properties November 04, 2003 4

  5. Extensible Markup Language (XML) � World Wide Web Consortium (W3C) standard � XML represents information as trees using tags <?xml version="1.0"?> <!DOCTYPE persons SYSTEM "persons.dtd"> < persons > < person job ="programmer"> < name >John Doe</ name > < email >email@none.ro</ email > </ person > … < person job ="manager"> < comment >Classified</ comment > </ person > </ persons > November 04, 2003 5

  6. Document Type Definition (DTD) � DTDs specify the allowed content of the XML elements � Are used for XML document validation <!ENTITY % person-job-attribute " job (programmer|manager) #REQUIRED"> <!ELEMENT persons ( person *)> <!ELEMEN person (( name +, email *)| comment +)> <!ATTLIST person project CDATA #IMPLIED &person-job-attribute;> <!ELEMENT name (#PCDATA)> <!ELEMENT email (#PCDATA)> <!ELEMENT comment (#PCDATA)> November 04, 2003 6

  7. ModelicaXML class Test "comment" modelicaxml Real x; Real xdot; Modelica definition equation code xdot = der (x); component equation end Test; read Modelica Parser component < modelicaxml > output < definition ident = "Test" c omment ="comment"> < component ident ="x" type ="Real" Modelica visibility ="public" /> XML < component ident ="xdot" type ="Real" visibility ="public" /> < equation >...</ equation > </ definition > </ modelicaxml > November 04, 2003 7

  8. ModelicaXML Applications Interoperability and Transformation Modelica XML Tools code validate, validate, read HTML read read output Documentation Modelica Parser output Parsers output output read output Modelica XML Other XML Other modeling formats languages November 04, 2003 8

  9. ModelicaXML + XS LT � The S tylesheet Language for Transformation (XS LT) � is a declarative language for transforming XML trees � selects parts of the XML tree using the XPath language � uses templates to transform the selected parts � outputs desired format Other modeling languages Modelica XSLT Other XML XML formats Modelica HTML code Documentation November 04, 2003 9

  10. ModelicaXML + XQuery � The Query Language for XML (XQuery) � is a declarative language for query of XML trees � selects parts of the XML tree using the XPath language � uses S QL-like query language to further manipulate the results Model Queries Modelica XQuery XML Style guidelines Answers November 04, 2003 10

  11. ModelicaXML + DOM � Document Obj ect Model (DOM) � is a platform and language neutral interface for � access and update the content/ structure/ style of XML trees in XML documents � implementation in almost all programming languages Programming Languages Modelica DOM XML � Semantic Analysis � Unparsing � Code transformation � Model instantiation � Optimization � others November 04, 2003 11

  12. Problems with the XML Representation � XML can only express syntax � No easy way to automatically handle semantics � Possible solutions � use more expressive markup languages to express Modelica semantics � use available tools for these languages November 04, 2003 12

  13. S emantic Web Languages � Resource Description Framework (RDF) � represents graphs � describes classes and relations � out of the box tools for graph query � some type checking is available � Web Ontology Language (OWL) � adds a Description Logics layer on top of RDF � out of the box tools for: � type checking � model consistency � making the implicit sub-typing and equivalence relations explicit (inference) November 04, 2003 13

  14. Conclusions and Future Work � ModelicaXML � offers easy access to Modelica language structure � helps in providing more non-simulation applications for Modelica � is not enough for handling Modelica semantics � Future Work � formal definition of all the intermediate steps from Modelica to flat Modelica (static semantics, interoperability) � tools will act on these level independent of each other � further investigation of the use of the S emantic Web Languages to express Modelica semantics is needed November 04, 2003 14

  15. End 15 Questions? Thank you! November 04, 2003

  16. ModelicaXML and ModelicaOWL � ModelicaXML � http:/ / www.ida.liu.se/ ~adrpo/ modelica/ xml � ModelicaOWL � http:/ / www.ida.liu.se/ ~adrpo/ modelica/ owl November 04, 2003 16

More recommend