SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Introduction                         Architecture                        Web Services                          Conclusion




               Integrating Web Services into Interactive
                       Mathematical Documents
                                           CIAO workshop 2009


                       Christoph Lange, Florian Rabe, Jana Giceva

                                      Jacobs University, Bremen, Germany
                      KWARC – Knowledge Adaptation and Reasoning for Content


                                                    April 2, 2009



Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         1
Introduction                         Architecture                        Web Services                          Conclusion



Interactive Documents

 Mathematical Documents are everywhere on the web (e. g.
 MathWorld, PlanetMath, Wikipedia, . . . )
 But they lack interactivity!
 Examples of interactive services:
     Do not just get any document that is available on the server,
     but a document that is adapted to your preferences, previous
     knowledge, field of application, . . .
     Solve exercises
     Evaluate/compute/check expressions



Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         2
Introduction                         Architecture                        Web Services                          Conclusion



Mathematical Web Services


 Services for . . .
       flexibly adapting documents to varying audiences
       checking users’ solutions to exercises
       evaluating expressions, solving problems
 . . . are available (e. g. MONET), but accessible from documents?

 Yes, sometimes, but not really easy to integrate; most of the time
 only used in their native environment




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         3
Introduction                         Architecture                        Web Services                          Conclusion



The (non-mathematical) Web 2.0



         Asynchronous communication (AJAX): web applications that
         feel like desktop applications (rich, responsive widgets)
         Mashups: integrate services into documents
         First prominent example: HousingMaps = Craig’s List housing
         ads + Google Maps
 So how about a mathematical Web 2.0 with mashups of web services?




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         4
Introduction                         Architecture                          Web Services                         Conclusion



JOBAD: An Architecture for Interactive
Documents

 JavaScript API for OMDoc-based Active Documents
                                                              integrated backend or independent web services

                                                            unit               content              notation
                                                          converter          dictionaries          collection
  Web Services
                                                                                             renderer



                      menu layers         elision   folding      unit          definition      notation         initially
                     mouse keybd                              conversion        lookup         selection        generates
  Client Modules
                                     action
                           GUI       objects                        Services
  Document                                XHTML+MathML+OpenMath, JavaScript




Lange, Rabe, Giceva (Jacobs University)    Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                         April         5
Introduction                         Architecture                        Web Services                          Conclusion



A Document Format that Enables Services



 Math markup on the web:
     MathML (W3C standard supported by Mozilla/Firefox and
     Opera), both presentational and semantic (“content”) markup
     We enforce some underspecified aspects of the specification




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         6
Introduction                         Architecture                        Web Services                          Conclusion



Switching between Alternative Displays
<OMATTR>
  <OMATP  >
    <OMS cd=" f o l d i n g " name=" a b b r e v "/>
    Wpot (R)
  </OMATP  >
        −e 2
      4π 0 R/2
 </OMATTR>

 renders as
<m a c t i o n a c t i o n t y p e =" a b b r e v " s e l e c t i o n ="1">
        −e 2
      4π 0 R/2
   Wpot (R)
 </maction >

 Here: prepared by the author. But also: undo/redo of document
 changes by other services
Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         7
Introduction                         Architecture                        Web Services                          Conclusion



Grouping Subterms for Interactive Folding




 Same as before, but always available (<maction
 actiontype="folding">)
 Example:
 [1 + [2 · x ]] [1 + . . . ]




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April         8
Introduction                         Architecture                        Web Services                          Conclusion



Cross-Linked Parallel Markup
                                                         <annotation-xml encoding="OpenMath">
<semantics>                                               <OMA id="E">
 <!-- a+b 2 c -->                                          <OMS cd="arith1" name="plus"
 <mrow xref="#E">                                           id="E.0"/>
  <mi xref="#E.1">a</mi>                                   <OMV name="a" id="E.1"/>
  <mo xref="#E.0">+</mo>                                    <OMA id="E.2">
   <mrow xref="#E.2">                                          <OMS cd="arith1" name="times"
     <msup xref="#E.2.1">                                       id="E.2.0"/>
       <mi xref="#E.2.1.1">b</mi>                              <OMA id="E.2.1">
       <mn xref="#E.2.1.2">2</mn>                               <OMS cd="arith1" name="power"
     </msup>                                                      id="E.2.1.0"/>
     <mo xref="#E.2.0">&#x2062;                                 <OMV name="b" id="E.2.1.1"/>
       <!-- INVISIBLE TIMES -->                                 <OMI id="E.2.1.2">2</OMI>
     </mo>                                                     </OMA>
     <mi xref="#E.2.2">c</mi>                                  <OMV name="c" id="E.2.2"/>
   </mrow>                                                    </OMA>
  <mo xref="#E.0">+</mo>                                     <OMV name="d" id="E.3"/>
  <mi xref="#E.3">d</mi>                                   </OMA>
 </mrow>                                                  </annotation-xml>
Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                         </semantics>                                   April         9
Introduction                         Architecture                        Web Services                          Conclusion



Lightweight Annotations for Flexible Elisions

         In general: leave out information that distracts the reader or
         that doesn’t fit on the paper
         In particular: redundant brackets around strong-binding
         operators
         But what if the reader is not yet familiar with certain operators?
         ⇒ make it interactive

<m a c t i o n t y p e =" e l i s i o n ">
  <mspace/>
  <mo f e n c e =" t r u e " omdoc : e g r o u p =" f e n c e "
   omdoc : e l e v e l ="100">(</mo>
</maction >

Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        10
Introduction                         Architecture                        Web Services                          Conclusion



Integrating Web Services
         No fixed access pattern (REST vs. XML-RPC vs. SOAP), no
         fixed set of services
         The server that serves a document is responsible for
                 advertising available services
                 and shipping required JavaScript client code

<s c r i p t s r c=" . . / s c r i p t s / j o b a d . j s " />
<s c r i p t type=" t e x t / j a v a s c r i p t ">
j o b a d I n i t ( " contextmenu " ) ;
jobadInit (" elision " );
j o b a d I n i t ( " d e f i n i t i o n −l o o k u p " , " Look up d e f i n i t i o n " ,
    " h t t p : / / j o b a d . mathweb . o r g / backend ? a c t i o n=d e f i n i t i o n −
 &c d b a s e=$ c d b a s e&cd=$cd&name=$name " ) ;
</ s c r i p t>

Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        11
Introduction                         Architecture                        Web Services                          Conclusion



Rendering


         Rendering as a service?! Shouldn’t you get that for free with any
         document?
         Prerequisite for making output from other services
         human-readable!
         content markup (OpenMath) → presentation markup
         (Presentation MathML)
         future work: more control over notation selection




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        12
Introduction                         Architecture                        Web Services                          Conclusion



Definition and Type Lookup

         Input: ID of a symbol σ; output: content-markup definition (or
         type declaration) of σ




         Utilize HTTP content negotiation: request MIME type
         application/xhtml+xml to get a rendered formula
         Alternative: in-place expansion


Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        13
Introduction                         Architecture                        Web Services                          Conclusion



Unit Conversion
 Units in OpenMath: numbers multiplied with “unit symbols”
 (or arithmetic compositions of unit symbols, optionally with prefix)
 <OMA>
    <OMS cd="arith1" name="times"/>
    <OMI>1</OMI>
    <OMS cd="units_metric1" name="metre"/>
 </OMA>
         OpenMath-based conversion service exists:
         Input: selected expression, target unit; output: converted
         expression (rendered)
         Future: preselect admissible conversions by client/server
         negotiation

Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        14
Introduction                         Architecture                        Web Services                          Conclusion



Integrated Backends



         Theory: all services separate (clean conceptual model)
         Practice: multiple services in an integrated backend (more
         efficient, both w. r. t. space and time)
         We are developing such integrated backends offering many (not
         all) services. The MMT system is one.




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        15
Introduction                         Architecture                        Web Services                          Conclusion



Conclusion


         Architecture for interactive mathematical documents
         Reader can interactively adapt appearance
         Document interacts with web services
         Knowledge representation: MathML maxed out (but degrades
         gracefully)
         Initial set of local and remote services, server can advertie
         additional services
         Try the demos at https://jomdoc.omdoc.org/wiki/JOBAD




Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        16
Introduction                         Architecture                        Web Services                          Conclusion



Future Work
 Services that we have thought about:
      Notation selection
      Guided tours (extension of lookup)
      Flattening (of theory imports)
      Search (this or similar formulae)
      Links to web resources (e. g. Wikipedia)
      Adaptive display of statement-level structures (proofs, rhetorical
      structures)
      Editing
      Saving (first adapt a document, then save that state on the
      server)
 Your wishes?
Lange, Rabe, Giceva (Jacobs University)   Integrating Web Services into Interactive Mathematical Documents 2, 2009
                                                                                                        April        17

Más contenido relacionado

Más de Christoph Lange

Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...Christoph Lange
 
Research Careers in Applied Computer Science
Research Careers in Applied Computer ScienceResearch Careers in Applied Computer Science
Research Careers in Applied Computer ScienceChristoph Lange
 
Machine Support for Interacting with Scientific Publications Improving Inform...
Machine Support for Interacting with Scientific Publications Improving Inform...Machine Support for Interacting with Scientific Publications Improving Inform...
Machine Support for Interacting with Scientific Publications Improving Inform...Christoph Lange
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Christoph Lange
 
Linking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process DescriptionsLinking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process DescriptionsChristoph Lange
 
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...Christoph Lange
 
Semantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems SocialSemantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems SocialChristoph Lange
 
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromTCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromChristoph Lange
 
Making Heterogeneous Ontologies Interoperable Through Standardisation
Making Heterogeneous Ontologies Interoperable Through StandardisationMaking Heterogeneous Ontologies Interoperable Through Standardisation
Making Heterogeneous Ontologies Interoperable Through StandardisationChristoph Lange
 
Previewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML DatabasePreviewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML DatabaseChristoph Lange
 
JOBAD – Interactive Mathematical Documents
JOBAD – Interactive Mathematical DocumentsJOBAD – Interactive Mathematical Documents
JOBAD – Interactive Mathematical DocumentsChristoph Lange
 
Publishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked DataPublishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked DataChristoph Lange
 
sTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked DatasTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked DataChristoph Lange
 
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...Christoph Lange
 
Mathematical Semantics of Statistical Data
Mathematical Semantics of Statistical DataMathematical Semantics of Statistical Data
Mathematical Semantics of Statistical DataChristoph Lange
 
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...Christoph Lange
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Christoph Lange
 
Processing and Publishing Content Math with JOMDoc and JOBAD
Processing and Publishing Content Math with JOMDoc and JOBADProcessing and Publishing Content Math with JOMDoc and JOBAD
Processing and Publishing Content Math with JOMDoc and JOBADChristoph Lange
 
wiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participatewiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participateChristoph Lange
 
Web-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeWeb-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeChristoph Lange
 

Más de Christoph Lange (20)

Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
Faire Datenökonomie für Wirtschaft, Wissenschaft und Gesellschaft: Was brauch...
 
Research Careers in Applied Computer Science
Research Careers in Applied Computer ScienceResearch Careers in Applied Computer Science
Research Careers in Applied Computer Science
 
Machine Support for Interacting with Scientific Publications Improving Inform...
Machine Support for Interacting with Scientific Publications Improving Inform...Machine Support for Interacting with Scientific Publications Improving Inform...
Machine Support for Interacting with Scientific Publications Improving Inform...
 
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
Interlinking Data and Knowledge in Enterprises, Research and Society with Lin...
 
Linking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process DescriptionsLinking Big Data to Rich Process Descriptions
Linking Big Data to Rich Process Descriptions
 
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
Bringing Mathematics To the Web of Data: the Case of the Mathematics Subject ...
 
Semantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems SocialSemantic Web Technology: The Key to Making Scientific Information Systems Social
Semantic Web Technology: The Key to Making Scientific Information Systems Social
 
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-DatenstromTCP – zuverlässiger Ende-zu-Ende-Datenstrom
TCP – zuverlässiger Ende-zu-Ende-Datenstrom
 
Making Heterogeneous Ontologies Interoperable Through Standardisation
Making Heterogeneous Ontologies Interoperable Through StandardisationMaking Heterogeneous Ontologies Interoperable Through Standardisation
Making Heterogeneous Ontologies Interoperable Through Standardisation
 
Previewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML DatabasePreviewing OWL Changes and Refactorings Using a Flexible XML Database
Previewing OWL Changes and Refactorings Using a Flexible XML Database
 
JOBAD – Interactive Mathematical Documents
JOBAD – Interactive Mathematical DocumentsJOBAD – Interactive Mathematical Documents
JOBAD – Interactive Mathematical Documents
 
Publishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked DataPublishing Math Lecture Notes as Linked Data
Publishing Math Lecture Notes as Linked Data
 
sTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked DatasTeX+ – a System for Flexible Formalization of Linked Data
sTeX+ – a System for Flexible Formalization of Linked Data
 
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...Krextor – An Extensible Framework for Contributing Content Math to the Web of...
Krextor – An Extensible Framework for Contributing Content Math to the Web of...
 
Mathematical Semantics of Statistical Data
Mathematical Semantics of Statistical DataMathematical Semantics of Statistical Data
Mathematical Semantics of Statistical Data
 
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
Enabling Collaboration on Semiformal Mathematical Knowledge by Semantic Web I...
 
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
Ontology Integration and Interoperability (OntoIOp) – Part 1: The Distributed...
 
Processing and Publishing Content Math with JOMDoc and JOBAD
Processing and Publishing Content Math with JOMDoc and JOBADProcessing and Publishing Content Math with JOMDoc and JOBAD
Processing and Publishing Content Math with JOMDoc and JOBAD
 
wiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participatewiki.openmath.org – how it works, how you can participate
wiki.openmath.org – how it works, how you can participate
 
Web-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-GruppeWeb-2.0-Forschung der KWARC-Gruppe
Web-2.0-Forschung der KWARC-Gruppe
 

Último

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Integrating Web Services into Interactive Mathematical Documents

  • 1. Introduction Architecture Web Services Conclusion Integrating Web Services into Interactive Mathematical Documents CIAO workshop 2009 Christoph Lange, Florian Rabe, Jana Giceva Jacobs University, Bremen, Germany KWARC – Knowledge Adaptation and Reasoning for Content April 2, 2009 Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 1
  • 2. Introduction Architecture Web Services Conclusion Interactive Documents Mathematical Documents are everywhere on the web (e. g. MathWorld, PlanetMath, Wikipedia, . . . ) But they lack interactivity! Examples of interactive services: Do not just get any document that is available on the server, but a document that is adapted to your preferences, previous knowledge, field of application, . . . Solve exercises Evaluate/compute/check expressions Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 2
  • 3. Introduction Architecture Web Services Conclusion Mathematical Web Services Services for . . . flexibly adapting documents to varying audiences checking users’ solutions to exercises evaluating expressions, solving problems . . . are available (e. g. MONET), but accessible from documents? Yes, sometimes, but not really easy to integrate; most of the time only used in their native environment Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 3
  • 4. Introduction Architecture Web Services Conclusion The (non-mathematical) Web 2.0 Asynchronous communication (AJAX): web applications that feel like desktop applications (rich, responsive widgets) Mashups: integrate services into documents First prominent example: HousingMaps = Craig’s List housing ads + Google Maps So how about a mathematical Web 2.0 with mashups of web services? Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 4
  • 5. Introduction Architecture Web Services Conclusion JOBAD: An Architecture for Interactive Documents JavaScript API for OMDoc-based Active Documents integrated backend or independent web services unit content notation converter dictionaries collection Web Services renderer menu layers elision folding unit definition notation initially mouse keybd conversion lookup selection generates Client Modules action GUI objects Services Document XHTML+MathML+OpenMath, JavaScript Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 5
  • 6. Introduction Architecture Web Services Conclusion A Document Format that Enables Services Math markup on the web: MathML (W3C standard supported by Mozilla/Firefox and Opera), both presentational and semantic (“content”) markup We enforce some underspecified aspects of the specification Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 6
  • 7. Introduction Architecture Web Services Conclusion Switching between Alternative Displays <OMATTR> <OMATP > <OMS cd=" f o l d i n g " name=" a b b r e v "/> Wpot (R) </OMATP > −e 2 4π 0 R/2 </OMATTR> renders as <m a c t i o n a c t i o n t y p e =" a b b r e v " s e l e c t i o n ="1"> −e 2 4π 0 R/2 Wpot (R) </maction > Here: prepared by the author. But also: undo/redo of document changes by other services Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 7
  • 8. Introduction Architecture Web Services Conclusion Grouping Subterms for Interactive Folding Same as before, but always available (<maction actiontype="folding">) Example: [1 + [2 · x ]] [1 + . . . ] Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 8
  • 9. Introduction Architecture Web Services Conclusion Cross-Linked Parallel Markup <annotation-xml encoding="OpenMath"> <semantics> <OMA id="E"> <!-- a+b 2 c --> <OMS cd="arith1" name="plus" <mrow xref="#E"> id="E.0"/> <mi xref="#E.1">a</mi> <OMV name="a" id="E.1"/> <mo xref="#E.0">+</mo> <OMA id="E.2"> <mrow xref="#E.2"> <OMS cd="arith1" name="times" <msup xref="#E.2.1"> id="E.2.0"/> <mi xref="#E.2.1.1">b</mi> <OMA id="E.2.1"> <mn xref="#E.2.1.2">2</mn> <OMS cd="arith1" name="power" </msup> id="E.2.1.0"/> <mo xref="#E.2.0">&#x2062; <OMV name="b" id="E.2.1.1"/> <!-- INVISIBLE TIMES --> <OMI id="E.2.1.2">2</OMI> </mo> </OMA> <mi xref="#E.2.2">c</mi> <OMV name="c" id="E.2.2"/> </mrow> </OMA> <mo xref="#E.0">+</mo> <OMV name="d" id="E.3"/> <mi xref="#E.3">d</mi> </OMA> </mrow> </annotation-xml> Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 </semantics> April 9
  • 10. Introduction Architecture Web Services Conclusion Lightweight Annotations for Flexible Elisions In general: leave out information that distracts the reader or that doesn’t fit on the paper In particular: redundant brackets around strong-binding operators But what if the reader is not yet familiar with certain operators? ⇒ make it interactive <m a c t i o n t y p e =" e l i s i o n "> <mspace/> <mo f e n c e =" t r u e " omdoc : e g r o u p =" f e n c e " omdoc : e l e v e l ="100">(</mo> </maction > Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 10
  • 11. Introduction Architecture Web Services Conclusion Integrating Web Services No fixed access pattern (REST vs. XML-RPC vs. SOAP), no fixed set of services The server that serves a document is responsible for advertising available services and shipping required JavaScript client code <s c r i p t s r c=" . . / s c r i p t s / j o b a d . j s " /> <s c r i p t type=" t e x t / j a v a s c r i p t "> j o b a d I n i t ( " contextmenu " ) ; jobadInit (" elision " ); j o b a d I n i t ( " d e f i n i t i o n −l o o k u p " , " Look up d e f i n i t i o n " , " h t t p : / / j o b a d . mathweb . o r g / backend ? a c t i o n=d e f i n i t i o n − &c d b a s e=$ c d b a s e&cd=$cd&name=$name " ) ; </ s c r i p t> Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 11
  • 12. Introduction Architecture Web Services Conclusion Rendering Rendering as a service?! Shouldn’t you get that for free with any document? Prerequisite for making output from other services human-readable! content markup (OpenMath) → presentation markup (Presentation MathML) future work: more control over notation selection Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 12
  • 13. Introduction Architecture Web Services Conclusion Definition and Type Lookup Input: ID of a symbol σ; output: content-markup definition (or type declaration) of σ Utilize HTTP content negotiation: request MIME type application/xhtml+xml to get a rendered formula Alternative: in-place expansion Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 13
  • 14. Introduction Architecture Web Services Conclusion Unit Conversion Units in OpenMath: numbers multiplied with “unit symbols” (or arithmetic compositions of unit symbols, optionally with prefix) <OMA> <OMS cd="arith1" name="times"/> <OMI>1</OMI> <OMS cd="units_metric1" name="metre"/> </OMA> OpenMath-based conversion service exists: Input: selected expression, target unit; output: converted expression (rendered) Future: preselect admissible conversions by client/server negotiation Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 14
  • 15. Introduction Architecture Web Services Conclusion Integrated Backends Theory: all services separate (clean conceptual model) Practice: multiple services in an integrated backend (more efficient, both w. r. t. space and time) We are developing such integrated backends offering many (not all) services. The MMT system is one. Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 15
  • 16. Introduction Architecture Web Services Conclusion Conclusion Architecture for interactive mathematical documents Reader can interactively adapt appearance Document interacts with web services Knowledge representation: MathML maxed out (but degrades gracefully) Initial set of local and remote services, server can advertie additional services Try the demos at https://jomdoc.omdoc.org/wiki/JOBAD Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 16
  • 17. Introduction Architecture Web Services Conclusion Future Work Services that we have thought about: Notation selection Guided tours (extension of lookup) Flattening (of theory imports) Search (this or similar formulae) Links to web resources (e. g. Wikipedia) Adaptive display of statement-level structures (proofs, rhetorical structures) Editing Saving (first adapt a document, then save that state on the server) Your wishes? Lange, Rabe, Giceva (Jacobs University) Integrating Web Services into Interactive Mathematical Documents 2, 2009 April 17