Einführung Architektur Web Services Schluss
Web Services in interaktiven mathematischenDokumenten
Doktorandenforum Natur+Wissenschaft
Christoph Lange
Jacobs University Bremen
4. April 2009
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 1
Einführung Architektur Web Services Schluss
println("Hello, World!\n");
Christoph Lange, Informatik, JacobsUniversity BremenFachgebiet: Semantic Web, MathematicalKnowledge Management (Verbindung vonbeidem)Stadium: Bausteine zu Ende führen,zusammensetzen, Doktorarbeit aufschreibenVortragsthema: Ein Baustein
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 2
Einführung Architektur Web Services Schluss
Interaktive Dokumente
Mathematik überall, aber nichtinteraktiv!
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 3
Einführung Architektur Web Services Schluss
Mathematische Web Services
Es gibt Web Services, die . . .Dokumente flexibel an unterschiedliche Zielgruppen anpassenLösungen des Anwenders für Aufgaben überprüfenAusdrücke auswerten, Probleme lösen
Nichts Neues, aber gibt es das auch in Dokumenten?
Manchmal, aber nicht leicht einzubinden; meist nur im eigenenSystem nutzbar
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 4
Einführung Architektur Web Services Schluss
Das (nicht mathematische) Web 2.0
Craig’s List
+
Google Maps
Housingmaps (Mashup)
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 5
Einführung Architektur Web Services Schluss
Eine Architektur für interaktive Dokumente
integrated backend or independent web services
XHTML+MathML+OpenMath, JavaScript
GUI
menu
mouse
actionobjects Services
foldinglayers
keybddefinitionlookup
notationselection
elision unitconversion
unitconverter
contentdictionaries
notationcollection
renderer
initially generates
Document
Client Modules
Web Services
http://jomdoc.omdoc.org/wiki/JOBAD
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 6
Einführung Architektur Web Services Schluss
Ein Dokumentenformat, das Interaktion ermöglicht
Mathematisches Markup im Web (MathML & co.):Semantik PräsentationWie sieht die Formel aus? Was bedeutet sie?“Große Klammer auf, oben n, un-ten k , große Klammer zu”
“Binomialkoeffizient ‘n über k”
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 7
Einführung Architektur Web Services Schluss
Umschalten zwischen alternativen Anzeigen
<OMATTR><OMATP>
<OMS cd=" f o l d i n g "name="abbrev "/>
Epot(R)</OMATP>−e2
4πε0R/2</OMATTR>
darstellen als<mact ion a c t i o n t y p e="abbrev "
s e l e c t i o n ="1">−e2
4πε0R/2Epot(R)
</maction>
Hier: vom Autor vorbereitet. Aber auch: Subterme ein-/ausfaltensowie Undo/Redo für andere Dienste
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 8
Einführung Architektur Web Services Schluss
Querverbundenes “Parallel Markup”
<semantics><!-- a+b 2 c --><mrow xref="#E"><mi xref="#E.1">a</mi><mo xref="#E.0">+</mo><mrow xref="#E.2">
<msup xref="#E.2.1">
<mi xref="#E.2.1.1">b</mi>
<mn xref="#E.2.1.2">2</mn>
</msup>
<mo xref="#E.2.0">⁢
<!-- INVISIBLE TIMES -->
</mo>
<mi xref="#E.2.2">c</mi>
</mrow><mo xref="#E.0">+</mo><mi xref="#E.3">d</mi>
</mrow>
−→
<annotation-xml encoding="OpenMath"><OMA id="E"><OMS cd="arith1" name="plus"id="E.0"/>
<OMV name="a" id="E.1"/><OMA id="E.2">
<OMS cd="arith1" name="times"
id="E.2.0"/>
<OMA id="E.2.1">
<OMS cd="arith1" name="power"
id="E.2.1.0"/>
<OMV name="b" id="E.2.1.1"/>
<OMI id="E.2.1.2">2</OMI>
</OMA>
<OMV name="c" id="E.2.2"/>
</OMA><OMV name="d" id="E.3"/>
</OMA></annotation-xml>
</semantics>Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 9
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
5 · (x + y)n+3 ≤ (a · b)! ∨ ¬p ∧ ¬(q ≤ π)
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
5 · (x + y)n+3 ≤ (a · b)! ∨ (¬p ∧ ¬(q ≤ π))
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
(5 · (x + y)n+3) ≤ (a · b)! ∨ (¬p ∧ ¬(q ≤ π))
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
(5 · (x + y)n+3) ≤ ((a · b)!)∨ ((¬p)∧ (¬(q ≤ π)))
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
((5·(x +y)n+3) ≤ ((a ·b)!))∨((¬p)∧(¬(q ≤ π)))
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Leichtgewichtige Annotationen für flexiblesEin-/Ausblenden
Allgemein: Information weglassen, die den Leser verwirrt, oderdie nicht aufs Papier passtSpeziell: Redundante Klammern um stark bindende OperatorenWas, wenn der Leser neue Operatoren gerade erst lernt?⇒ Klammern interaktiv machen!
((5·(x+y)(n+3)) ≤ ((a·b)!))∨((¬p)∧(¬(q ≤ π)))
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 10
Einführung Architektur Web Services Schluss
Web Services integrierenNicht auf ein Muster festgelegt (REST bzw. XML-RPC bzw.SOAP), kein fester Satz von Web ServicesDer Server, von dem ein Dokument kommt, kümmert sichdarum . . .
vorhandene Services anzupreisen. . . und den nötigen JavaScript-Code gleich zum Client zuschicken
<s c r i p t s rc=" . . / s c r i p t s / jobad . 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 " ) ;j o b a d I n i t ( " e l i s i o n " ) ;j o b a d I n i t ( " d e f i n i t i o n −l ookup " , " Look up d e f i n i t i o n " ,
" h t tp : // jobad . mathweb . org / backend ? a c t i o n=d e f i n i t i o n −l ookup &cdbase=$cdbase&cd=$cd&name=$name" ) ;</ s c r i p t>
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 11
Einführung Architektur Web Services Schluss
Rendering
Hintergrund: Funktional/strukturelle Repräsentationmathematischer Formeln in der Datenbank, aber der Mensch willsie lesen könnenEin extra Dienst?! – Das will man doch immer haben!Ist aber Voraussetzung, um Ausgaben anderer Web Serviceslesbar zu machen!
<OMA><OMS cd="combinat1 "
name="b i n om i a l "/><OMV name="n"/><OMV name="k"/>
</OMA>
(nk), oder Cn
k , Ckn
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 12
Einführung Architektur Web Services Schluss
Definitionen nachschlagen
Eingabe: Name eines Symbols; Ausgabe: dessen Definition (insemantischem Markup, oder gerendert)
Alternative: Expansion an Ort und Stelle (geht nicht immer)
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 13
Einführung Architektur Web Services Schluss
Einheiten-Umrechnung
Einheiten in semantischem Markup: Zahlen, mit“Einheiten-Symbolen” multipliziert(oder komplexere Verknüpfungen von Einheiten-Symbolen, ggf. mitPräfix)<OMA>
<OMS cd="arith1" name="times"/><OMI>1</OMI><OMS cd="units_metric1" name="metre"/>
</OMA>
Einen Web Service dafür gibt es:Eingabe: ausgewählter Ausdruck, Zieleinheit; Ausgabe:konvertierter Ausdruck (gerendert)
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 14
Einführung Architektur Web Services Schluss
Integrierte BackendsTheorie: Alle Services separat (sauberes Modell)Praxis: Mehrere Services in integriertem Backend (effizienterbzgl. Platz und Zeit)Wir entwickeln solche Backends (z. B. mein semantisches WikiSWiM: http://wiki.openmath.org → letztesDoktorandenforum)
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 15
Einführung Architektur Web Services Schluss
Schluss
1 Architektur für interaktive mathematische Dokumente2 Leser kann Aussehen interaktiv anpassen3 Dokument interagiert mit Web Services4 Wissensrepräsentation holt das Letzte aus MathML heraus5 Kernsystem mit einigen Diensten; Server kann weitere anpreisen6 Probiert die Demos unter
http://jomdoc.omdoc.org/wiki/JOBAD aus!
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 16
Einführung Architektur Web Services Schluss
ZukunftWas wir sonst noch planen:
Notations-Auswahl (·/×/unsichtbar,(
nk
)/Cn
k , Ckn )
Führungen (erweitertes Nachschlagen)Suche diese oder ähnliche Formeln im Web(→ http://search.mathweb.org)Links ins Web (z. B. Wikipedia)Größere Strukturen als Formeln interaktiv machen:Beweisschritte, rhetorische StrukturenAnpassungen speichern (und später wieder abrufen)Eure Ideen?
Diskussion:EvaluationForschungsleistung in betreuter Bachelor-Arbeit
Ch. Lange (Jacobs University) Web Services in interaktiven mathematischen Dokumenten 4. April 2009 17