Zum Inhalt springen

OpenMath

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 29. Dezember 2007 um 09:51 Uhr durch MichaelKohlhase (Diskussion | Beiträge) (Stark Erweitert, so da"s die Seite jetzt im wesentlichen aequivalent zur Englischen ist. Korrekturlesen waere sicherlich nicht schlecht.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

OpenMath ist ein Standard zur Beschreibung der Semantik mathematischer Formeln. Im Gegensatz zu Satz- oder Darstellungsprogrammen wie LaTeX oder MathML, die Formeln nur darstellen, versucht OpenMath den mathematischen Inhalt mit seinen eigenen Gesetzmäßigkeiten zu repräsentieren. OpenMath kann dazu verwendet werden, die Semantik von Formeln zu beschreiben, deren Präsentation in MathML notiert ist.

Umfang

Der OpenMath Standard definiert OpenMath Objekte („OpenMath Objects“) einen abstrakten Datentyp zur Beschreibung der funktionalen Struktur mathematischer Formeln als Ausdrücke aus Symbolen („OpenMath Symbols“), Variablen („OpenMath Variables“), Funktionsanwendungen („OpenMath Applications“) und Bindungsausdrücken („OpenMath Binding Object“). Die Bedeutung eines Symbols wird durch Referenzierung seiner Definition in einem Inhaltslexikon („Content Dictionary“ CD) festgelegt. CDs sind Sammlungen von Definitionen mathematischer Konzepte. Es gibt einen Satz standardisierter Content Dictionaries, in der die aus Content MathML bekannten Symbole vordefiniert sind, CDs sind ausdrücklich auch dazu gedacht, Content MathML um neue Symble zu erweitern.

Geschichte

OpenMath ist seit 1993 in einer langen Reihe von Workshops und (meist Europäischen) Projekten entwickelt worden. Der OpenMath 1.0 Standard wurde im Februar 2000 veröffentlicht, und im Oktoger 2002 als OpenMath 1.1 erweitert. Der OpenMath 2.0 Standard wurde zwei Jahre später im Juni 2004 veröffentlicht. OpenMath 1 fixierte die grundlegende Architektur. OpenMath2 erweiterte diese um bessere XML-Integration, structure sharing und um abstrakte CDs.

OpenMath Society

Die OpenMath Aktivitäten werden von der OpenMath Society (Helsinki, Finland) koordiniert. The Society bringt Entwickler mathematischer Software-Systeme, Verlage, und Authoren zusammen. Die Mitgliedschaft kann beim Exekutivkommittee beantragt werden von Personen, die an OpenMath in Forschung oder Anwendung gearbeitet haben.

Beispiel

Die bekannte Quadratformel:

würde in OpenMath wie folgt repräsentiert (es haldelt sich hier um einen Baum-artigen Ausdruck, dessen funktionale Teile mittels XML tags wie OMA für Funktionsanwendung oder OMV für Variablen dargestellt werden):

<OMOBJ  xmlns="http://www.openmath.org/OpenMath">
  <OMA cdbase="http://www.openmath.org/cd">
    <OMS cd="relation1" name="eq"/>
    <OMV name="x"/>
    <OMA>
      <OMS cd="arith1" name="divide"/>
      <OMA>
        <OMS cdgroup="http://www.example.com/mathops" cd="multiops" name="plusminus"/>
        <OMA>
          <OMS cd="arith1" name="unary_minus"/>
          <OMV name="b"/>
        </OMA>
        <OMA>
          <OMS cd="arith1" name="root"/>
          <OMA>
            <OMS cd="arith1" name="minus"/>
            <OMA>
              <OMS cd="arith1" name="power"/>
              <OMV name="b"/>
              <OMI>2</OMI>
            </OMA>
            <OMA>
              <OMS cd="arith1" name="times"/>
              <OMI>4</OMI>
              <OMV name="a"/>
              <OMV name="c"/>
            </OMA>
          </OMA>
          <OMI>2</OMI>
        </OMA>
      </OMA>
      <OMA>
        <OMS cd="arith1" name="times"/>
        <OMI>2</OMI>
        <OMV name="a"/>
      </OMA>
    </OMA>
  </OMA>
</OMOBJ>

In diesem Ausdruck stehen die Symbole - also Elemente wie <OMS cd="arith1" name="times"/> — für mathematische Funktionen die auf ihre Schwester-Elemente in OMA Elementen angewandt werden. Diese werden dabei als Argumente interprätiert. Das OMS Element steht dabei für dasjenige mathematische Konzept das im Inhaltslexikon definiert wird das durch das cd Attribut spezifiziert wird (Dieses XML-Dokument kann an der URI gefunden werden die im näheste dominierendencdbase Attribute gegeben ist. Im Beispiel oben kommen alle Symbole aus dem CD für die Arithmetik (arith1 siehe unten).

OpenMath Inhaltslexika (Content Dictionaries)

CDs sind struktuierte XML Dokumente die mathematische Symbole definieren, die von OMS Elementen in OpenMath Objecten referenziert werden können. Der OpenMath 2 Standard fixiert keine kanonische Syntax für CDs, sondern fordert nur eine Infrastruktur die für die Referenzierung in "OMS" Elementen ausreicht. OpenMath selbst verwendet eine sehr einfache XML-basierte Syntax und stellt einen CDs für einige mathematische Gebiete zur Verfügung. Insbesondere wird das "K-14 Fragment der Mathematik" (entspricht in etwa der Mathematik bis zum Deutschen Abitur), das auch in Content MathML verwendet wird unterstützt.

OMDoc für größere Kontexte

Um OpenMath-Formeln in größere Kontexte einzubetten, kann das Format OMDoc verwendet werden. OMDoc stellt Strukturen für mathematische Aussagen wie etwa Definition, Satz, Beweis und Beispiel bereit, die OpenMath-Formeln enthalten können. Gruppen von kontextuell aufeinander bezogenen Aussagen können zu Theorien zusammengefasst werden. Als Sammlung von Symboldefinitionen betrachtet, ist eine OMDoc-Theorie kompatibel zu einem OpenMath Content Dictionary.

Siehe auch