Deklaratives Wissen

3.3.3 Kanalisierte Hypergraphen und RDF

Das Resource Description Framework (RDF) modelliert Informationen über gerichtete Graphen (Refs. sind gute Diskussionen über Semantic Web-Technologien aus einer graphentheoretischen Perspektive), deren Kanten mit Konzepten gekennzeichnet sind, die in gut strukturierten Kontexten aus veröffentlichten Ontologien stammen (diese Etiketten spielen eine ähnliche Rolle wie „Klassifikatoren“ in CHs). Im Prinzip werden alle Daten, die über RDF-Graphen ausgedrückt werden, durch ungeordnete Sätze von beschrifteten Kanten definiert, die auch als „Tripel“ bezeichnet werden („〈Subjekt, Prädikat, Objekt〉“, wobei das „Prädikat“ die Beschriftung ist). In der Praxis befassen sich jedoch übergeordnete RDF-Notationen wie TTL (Turtle oder „Terse RDF Triple Language“) und Notation3 (N3) mit aggregierten Datengruppen wie RDF-Containern und Sammlungen.

Stellen Sie sich zum Beispiel eine Darstellung der Tatsache vor „(A / Die genannte Person) Nathaniel, 46, hat in Brooklyn, Buffalo und Montreal gelebt“ (in Abb. 3.2 sowohl als CH als auch in RDF). Wenn wir Turtle oder N3 als Sprachen und nicht nur als Notationen betrachten, scheint es, als ob ihre Semantik eher auf Hyperedges als auf Tripeln aufgebaut wäre. Es scheint, dass diese Sprachen Viele-zu-Viele- oder Eins-zu-Viele-Behauptungen codieren, die als Kanten mit mehr als einem Subjekt und / oder Prädikat grafisch dargestellt werden. In der Tat schlägt Tim Berners-Lee selbst vor, dass „Implementierungen list als Datentyp und nicht nur als Leiter von rdf:first- und rdf:rest-Eigenschaften behandeln können“ . Das heißt, die Spezifikation für RDF-listenartige Datenstrukturen lädt uns ein, zu berücksichtigen, dass sie als integrale Einheiten betrachtet werden können und nicht nur als Aggregate, die bei der semantischen Interpretation auseinandergezogen werden.

Abb. 3.2. CH gegen RDF-Sammlungen.

Technisch gesehen ist das vielleicht eine Illusion. Trotz ihrer höheren Ausdruckskraft sollen RDF-Ausdruckssprachen möglicherweise als „syntaktischer Zucker“ für eine primitivere Auflistung von Tripeln angesehen werden: die Semantik von Turtle und N3 soll definiert werden, indem Ausdrücke in die Dreifachmengen übersetzt werden, die sie logisch implizieren (siehe auch ). Diese Absicht akzeptiert das Paradigma, dass die Bereitstellung von Semantik für eine formale Sprache eng mit der Definition zusammenhängt, welche Sätze logisch mit ihren Aussagen verbunden sind.

Es gibt jedoch eine abweichende Tradition in der formalen Semantik, die sich mehr an der Typentheorie als an der Logik orientiert. Es steht im Einklang mit diesem alternativen Ansatz, eine andere Semantik für eine Sprache wie Turtle zu sehen, in der größere Aggregate zu „erstklassigen“ Werten werden. So, 〈⌈Nathaniel⌉, ⌈46⌉〉 kann als eine (einzelne, Integrale) Wert, dessen Typ ist ein 〈Namen, Alter〉 pair. Ein solcher Wert hat eine „interne Struktur“, die mehrere Datenpunkte subsumiert. Die RDF-Version ist stattdessen um einen leeren Knoten herum organisiert, der unterschiedliche Datenpunkte wie meinen Namen und mein Alter miteinander verknüpft. Dieser leere Knoten ist auch mit einem anderen leeren Knoten verbunden, der Ort und Partei miteinander verbindet. Die leeren Knoten spielen eine organisatorische Rolle, da Knoten insofern gruppiert sind, als sie sich mit demselben leeren Knoten verbinden. Aber die implizite Organisation ist weniger streng; Man könnte annehmen, dass die Knoten 〈⌈Brooklyn⌉, ⌈Democrat⌉〉 genauso leicht einzeln an das Leerzeichen „Name / Alter“ angehängt werden könnten (dh ich lebe in Brooklyn und stimme demokratisch).

Warum werden Brooklyn und Brooklyn zusammen gruppiert? Welches Konzept hat dieses Fusionsmodell? Es gibt eine vermutliche Begründung für das Leerzeichen Name / Alter (dh., die Verschmelzung von Name / Alter, indem sie zu einem leeren Knoten verbunden werden, anstatt ihnen zu erlauben, Kanten unabhängig voneinander zu nehmen): Denkbar sind mehrere 46-Jährige mit dem Namen Nathaniel, so dass der leere Knoten eine semantische Schlüsselrolle spielt (analog zum Quantifizierer in „Es gibt einen Nathaniel, Alter 46 …“); Es bietet einen eindeutigen Zusammenhang, so dass weitere Prädikate an einen bestimmten 46-jährigen Nathaniel angehängt werden können, anstatt an einen alten 〈⌈Nathaniel⌉, ⌈46⌉〉. Es gibt jedoch keine ähnlich vorgeschlagene semantische Rolle für die Gruppierung „Ort / Partei“. Der Name kann nicht logisch vom Namen / Alter getrennt werden (weil es mehrere Nathaniels gibt), aber es scheint keine logische Bedeutung für die Orts- / Parteigruppierung zu geben. Die Paarung dieser Werte kann jedoch durch eine Modellierungskonvention motiviert werden, die widerspiegelt, dass geografische Daten und Daten zur Parteizugehörigkeit in einem Datensatz oder Datenmodell zusammengefasst sind. Die logische Semantik von RDF erschwert es, diese Art von Modellierungsannahmen auszudrücken, die eher von Konventionen als von Logik bestimmt werden — eine Abstraktion von der Modellierungsumgebung von data, die in einigen Kontexten wünschenswert sein kann, in anderen jedoch nicht.

Also, warum besteht die Semantic Web Community effektiv auf einer semantischen Interpretation von Turtle und N3 nur als Notationsbequemlichkeit für N-Tripel und nicht als übergeordnete Sprachen mit einer anderen übergeordneten Semantik – und trotz Aussagen wie dem früheren Tim Berners-Lee Zitat, das andeutet, dass eine alternative Interpretation sogar von denen im Herzen der Semantic Web Spezifikationen in Betracht gezogen wurde? Darüber hinaus wurde die Definition von Hierarchien der Materialzusammensetzung oder der strukturellen Organisation — und damit möglicherweise unterschiedlicher Skalen der Modellierungsauflösung — als wesentlicher Bestandteil des domänenspezifischen Ontologiedesigns identifiziert (siehe Refs. , oder Ref. ). Befürworter des Semantic Web haben die mehrstufige Struktur jedoch nicht grundsätzlich als Merkmal semantischer Modelle gefördert, im Gegensatz zur Kriteriologie innerhalb spezifischer Ontologien. In dem Maße, in dem dies eine Erklärung hat, hat es wahrscheinlich etwas mit Argumentation zu tun.: die Tools, die SPARQL-Abfragen auswerten, arbeiten auf Triplestore-Basis. Die „reduktive“ semantische Interpretation wird also wohl durch einen Haftbefehl gerechtfertigt, dass die definitiven Kriterien für semantische Webdarstellungen nicht ihre konzeptionelle Eleganz gegenüber menschlichen Urteilen sind, sondern ihre Nützlichkeit in ontologieübergreifenden und kontextübergreifenden Schlussfolgerungen.

Beachten Sie jedoch als Gegenargument, dass viele Inferenz-Engines in Constraint Solving, Computer Vision usw. auf speziellen Algorithmen basieren und nicht auf ein kanonisches Abfrageformat reduziert werden können. Bibliotheken wie GeCODE und ITK sind wichtig, da die Problemlösung in vielen Bereichen ein fein abgestimmtes Engineering auf Anwendungsebene erfordert. Wir können uns diese Bibliotheken als Unterstützung spezieller oder domänenspezifischer Argumentations-Engines vorstellen, die häufig für bestimmte Projekte entwickelt wurden, während OWL-basierte Reasoner wie Fact ++ allgemeine Engines sind, die ohne weitere Qualifikation mit universellen RDF-Daten arbeiten. Um „spezielle“ Begründer auf RDF anzuwenden, muss ein Kontingent von Knoten ausgewählt werden, das den Laufzeitanforderungen der Begründer entspricht.

Natürlich kann nicht erwartet werden, dass spezielle Reasoner auf der Domäne des gesamten Semantic Web oder sogar auf „sehr großen“ Datensätzen im Allgemeinen ausgeführt werden. Eine typische Analyse unterteilt ihr Problem in kleinere Teile, die jeweils für benutzerdefinierte Reasoner nachvollziehbar sind — in der Radiologie kann eine Diagnose beispielsweise dadurch erfolgen, dass zuerst eine medizinische Bildserie ausgewählt und dann eine Bild-für-Bild-Segmentierung durchgeführt wird. Auf RDF angewendet, kann dieser zweistufige Prozess als eine Kombination aus allgemeinen und speziellen Argumenten betrachtet werden: eine allgemeine Sprache wie SPARQL filtert viele Knoten auf eine kleinere Teilmenge herunter, die dann domänenspezifischen Darstellungen (einschließlich Laufzeitspeicher) zugeordnet / deserialisiert werden. Zum Beispiel kann RDF einen Patienten mit einem diagnostischen Test verknüpfen, der zu einem bestimmten Zeitpunkt von einem bestimmten Arzt bestellt wird und dessen Ergebnisse als eine Reihe von Bildern erhalten werden können — wodurch die jeweilige Serie ausgewählt wird, die für eine diagnostische Aufgabe relevant ist. Allgemeine Reasoner können die Bilder von Interesse finden und sie dann zur Analyse an spezielle Reasoner (z. B. Segmentierungsalgorithmen) übergeben. Soweit diese Architektur in Kraft ist, sind Semantic Web-Daten ein Ort für viele Arten von Argumentationsmaschinen. Einige dieser Engines müssen funktionieren, indem sie RDF-Daten und -Ressourcen in eine optimierte interne Darstellung umwandeln. Darüber hinaus wird die Semantik dieser Darstellungen typischerweise näher an einer N3-Semantik auf hoher Ebene liegen, die als sui generis genommen wird, anstatt reduktiv als Notationsbequemlichkeit für Formate auf niedrigerer Ebene wie N-Triple interpretiert zu werden. Dies scheint die Rechtfertigung für reduktive Semantik in Bezug auf OWL-Reasoner zu untergraben.

Das vielleicht genaueste Paradigma ist, dass Semantische Webdaten zwei verschiedene Interpretationen haben, die sich darin unterscheiden, dass sie mit spezieller bzw. allgemeiner Semantik übereinstimmen. Es ist sinnvoll, diese als „spezielle semantische Interpretation“ bzw. „semantische Interpretation für spezielle Reasoner“ (SSI, maybe) bzw. als „allgemeine semantische Interpretation“ (GSI) zu bezeichnen. Beide Interpretationen sollten als eine Rolle in der „Semantik“ des Semantic Web angesehen werden.

Eine weitere Betrachtungsreihenfolge betrifft die Semantik von RDF-Knoten und CH-Hyperknoten, insbesondere in Bezug auf die Eindeutigkeit. Knoten in RDF lassen sich in drei Klassen einteilen: leere Knoten; Knoten mit Werten aus einer kleinen Anzahl von Basistypen wie Zeichenfolgen und Ganzzahlen; und Knoten mit URLs, die im gesamten World Wide Web eindeutig sind. Es gibt keine leeren Knoten in CH und an sich auch keine URLs, obwohl man durchaus einen URL-Typ definieren kann. Es gibt nichts in der Semantik von URLs, das garantiert, dass jede URL eine bestimmte Internetressource bezeichnet; dies ist nur eine Konvention, die sich im Wesentlichen de facto erfüllt, weil sie ein Netz von Handels- und Rechtspraktiken strukturiert, nicht nur digitale; Zum Beispiel, Das Eigentum wird für jeden Internet-Domainnamen eindeutig gewährt. Darüber hinaus kann ein Datentyp so strukturiert sein, dass er institutionelle Praktiken widerspiegelt, die die Eindeutigkeit von Werten in einem bestimmten Kontext gewährleisten: Bücher haben eindeutige ISBN-Codes; Orte haben unterschiedliche GIS-Standorte usw. Diese Eindeutigkeitsanforderungen sind jedoch nicht Teil von CH und müssen mit zusätzlichen Axiomen ausgedrückt werden. Im Allgemeinen ist ein CH-Hypernode ein Tupel relativ einfacher Werte, und jede zusätzliche Semantik wird durch Typdefinitionen bestimmt (es kann nützlich sein, CH—Hypernoden als ungefähr analog zu C-Strukturen zu sehen, die keinen A-priori-Eindeutigkeitsmechanismus haben).

Außerdem sind RDF-Typen der RDF-Semantik weniger inhärent als in CH . Die grundlegenden Elemente von CH sind Werttupel (über Knoten, die Werte ausdrücken, deren Tupel wiederum Hyperknoten sind). Tupel werden nach Position indiziert, nicht nach Beschriftungen: das Tupel 〈⌈Nathaniel⌉, ⌈46⌉〉 zeichnet an sich nicht die Beschriftungen „name“ oder „age“ ein, die stattdessen auf Typebene definiert sind (sofern Typdefinitionen festlegen können, dass die Beschriftung „age“ ist ein Alias für den Knoten an seiner zweiten Position usw.). Es gibt also keine Möglichkeit, die semantische / konzeptionelle Absicht von Hypernoden zu ermitteln, ohne sowohl Hyponoden- als auch Hypernodentypen zu berücksichtigen. Umgekehrt hat RDF keine tatsächlichen Tupel (obwohl diese auf Wunsch als Sammlungen dargestellt werden können); und Knoten werden immer über beschriftete Konnektoren mit anderen Knoten verbunden — es gibt kein direktes Äquivalent dazu, dass die CH-Modellierungseinheit einer Hyponode nach Position in einen Hypernoden aufgenommen wird.

Im Kern basiert die RDF-Semantik also auf der Annahme, dass viele Knoten von fiat als global eindeutig deklariert werden können. Dies muss nicht für alle Knoten gelten – RDF-Typen wie Ganzzahlen und Gleitkommazahlen sind ätherischer; Die Zahl 46 in einem Diagramm ist nicht von 46 in einem anderen Diagramm zu unterscheiden. Dies kann formalisiert werden, indem gesagt wird, dass einige Knoten Objekte, aber niemals Subjekte sein können. Wenn solche Einschränkungen nicht durchgesetzt würden, könnten RDF-Graphen in gewissem Sinne überbestimmt werden, was Beziehungen aufgrund quantitativer Größen ohne semantischen Inhalt impliziert. Dies würde die Tür zu bizarren Urteilen wie „Mein Alter ist nicht erstklassig“ oder „Ich bin älter als Mohamed Salahs Zielsummen für 2018.“ Eine Möglichkeit, diese Inferenzen zu blockieren, besteht darin, zu verhindern, dass Knoten wie „die Nummer 46“ sowohl Subjekte als auch Objekte sind. Aber Knoten, die keine primitiven Werte sind – diejenigen, die beispielsweise Mohamed Salah selbst und nicht seine Zielsummen bezeichnen – sind zu Recht global einzigartig, da wir zwingende Gründe haben, ein Modell anzunehmen, bei dem es genau eine Sache gibt, nämlich Mohamed Salah. Die RDF-Semantik verbindet also im Grunde einige primitive Typen, die Objekte, aber niemals Subjekte sind, mit einem Netz global eindeutiger, aber intern unstrukturierter Werte, die entweder Subjekt oder Objekt sein können.

In CH sind die „primitiven“ Typen effektiv Hypotypen; Hyponoden sind (zumindest indirekt) analog zu reinen Objekt-RDF-Knoten, da sie nur durch Einbeziehung in Hypernoden dargestellt werden können. Aber CH Hypernodes sind weder (an sich) global einzigartig noch fehlt es an interner Struktur. Im Wesentlichen wird eine RDF-Semantik, die auf garantierter Eindeutigkeit für atomartige Grundelemente basiert, durch eine Semantik ersetzt, die auf strukturierten Bausteinen ohne garantierte Eindeutigkeit basiert. Diese Alternative kann im Zusammenhang mit allgemeinen versus speziellen Argumenten betrachtet werden: da allgemeine Reasoner potenziell das gesamte Semantische Web als Domäne verwenden, ist die globale Eindeutigkeit eine wünschenswertere Eigenschaft als die interne Struktur. Da spezielle Begründer jedoch nur für speziell ausgewählte Daten ausgeführt werden, ist die globale Eindeutigkeit weniger wichtig als die effiziente Zuordnung zu domänenspezifischen Darstellungen. Es ist rechnerisch nicht optimal, Daten durch Ausführen von SPARQL-Abfragen zu deserialisieren.

Schließlich lohnt es sich als letzter Punkt im Vergleich zwischen RDF- und CH-Semantik, die Unterscheidung zwischen „deklarativem Wissen“ und „prozeduralem Wissen“ zu berücksichtigen (siehe z. B. ). Nach dieser Unterscheidung veranschaulichen kanonische RDF-Daten deklaratives Wissen, weil sie offensichtliche Fakten behaupten, ohne explizit zu versuchen, sie zu interpretieren oder zu verarbeiten. Deklaratives Wissen zirkuliert unter der Software in kanonischen, wiederverwendbaren Datenformaten, so dass einzelne Komponenten Daten für ihre eigenen Zwecke verwenden oder daraus Schlussfolgerungen ziehen können.

Kehren Sie entgegen diesem Paradigma zu hypothetischen cyberphysikalischen Beispielen zurück, wie z. B. der Umwandlung von Spannungsdaten in Beschleunigungsdaten, die eine Voraussetzung dafür sind, dass die Messwerte von Beschleunigungsmessern in den meisten Kontexten nützlich sind. Software, die über Fähigkeiten zur Verarbeitung von Beschleunigungsmessern verfügt, zeigt daher, was als prozedurales Wissen bezeichnet werden kann, da eine so gekennzeichnete Software nicht nur Daten empfängt, sondern diese auch auf standardisierte Weise verarbeitet.

Die deklarative / prozedurale Unterscheidung kann vielleicht nicht erfassen, wie prozedurale Transformationen als intrinsisch für einige semantische Domänen verstanden werden können — so dass selbst die Information, die wir als „deklarativ“ wahrnehmen, ein prozedurales Element hat. Zum Beispiel deutet die Tatsache, dass „Beschleunigungsmesser“ nicht „Voltmeter“ genannt werden (was etwas anderes ist) darauf hin, wie die allgegenwärtige Computergemeinschaft Spannungs-zu-Beschleunigungsberechnungen als intrinsisch für die Daten von Beschleunigungsmessern wahrnimmt. Aber streng genommen sind die Komponenten, die an USH-Netzwerken teilnehmen, nicht nur am Datenaustausch beteiligt; Sie sind funktionierende Teile des Netzwerks, weil sie mehrere weithin anerkannte Berechnungen durchführen können, die als zentral für die relevante Domäne verstanden werden — mit anderen Worten, sie haben (und teilen mit ihren Kollegen) ein gewisses „prozedurales Wissen.“

RDF ist so strukturiert, als ob der statische Datenaustausch der einzige Schiedsrichter semantisch informierter Interaktionen zwischen verschiedenen Komponenten wäre, die eine Vielzahl von Designs und Begründungen haben können — das heißt, ein semantisches Web. Aber eine gründliche Darstellung der formalen Kommunikationssemantik muss damit rechnen, wie semantische Modelle von der impliziten, manchmal unbewussten Annahme beeinflusst werden, dass Produzenten und / oder Konsumenten von Daten über bestimmte operative Kapazitäten verfügen: die dynamischen Prozesse, die im Rahmen des Datenaustauschs erwartet werden, sind konzeptionell schwer von den statischen Daten zu trennen, die buchstäblich übertragen werden. Um das Beispiel des Beschleunigungsmessers fortzusetzen, können sich Designer solche Instrumente als „Beschleunigungsmessung“ vorstellen, obwohl dies physikalisch nicht unbedingt zutrifft; Ihre Ausgabe muss mathematisch transformiert werden, damit sie in diesen Begriffen interpretiert werden kann. Unabhängig davon, ob sie über RDF-Graphen oder gerichtete Hypergraphen dargestellt werden, ist die Semantik gemeinsam genutzter Daten unvollständig, es sei denn, die Vorgänge, die mit dem Senden und Empfangen von Daten einhergehen können, werden als Voraussetzungen für eine legitime semantische Ausrichtung erkannt.

Während Ontologien wertvoll sind, um unterschiedliche semantische Modelle zu koordinieren und zu integrieren, hat das Semantische Web vielleicht Ingenieure dazu beeinflusst, semantisch informierten Datenaustausch als eine Frage der Präsentation statischer Daten zu betrachten, die den veröffentlichten Ontologien entsprechen (dh Ausrichtung von „deklarativem Wissen“). In Wirklichkeit braucht robuster Datenaustausch auch eine „Angleichung des prozeduralen Wissens“: In einem idealen semantischen Netzwerk werden prozedurale Fähigkeiten zwischen Komponenten eingekreist, was ein aufkommendes „kollektives prozedurales Wissen“ fördert, das von Transparenz über Code und Bibliotheken sowie über Daten und Formate angetrieben wird. Das CH-Modell unterstützt diese Möglichkeit wohl, weil es Typassertionen für die Semantik grundlegend macht. Rigorose Typisierung legt sowohl eine Grundlage für die prozedurale Ausrichtung als auch die Anforderung, dass prozedurale Fähigkeiten bei der Bewertung von Netzwerkkomponenten berücksichtigt werden, da eine Typzuweisung ohne ausreichende Bibliotheken und Code zum Erstellen und Interpretieren typspezifischer Werte keine Bedeutung hat.

Trotz ihrer Unterschiede gehören das Semantic Web einerseits und Hypergraph-basierte Frameworks andererseits zum Gesamtraum graphorientierter semantischer Modelle. Hypergraphen können in RDF emuliert werden, und RDF-Graphen können organisch einer Hypergraphendarstellung zugeordnet werden (sofern gerichtete Hypergraphen mit Annotationen ein richtiger Superraum gerichteter beschrifteter Graphen sind). Semantic-Web-Ontologien für Computer-Quellcode können somit auch durch geeignet typisierte DHs modelliert werden, während wir auch Hypergraph-basierte Quellcode-Ontologien formulieren können. Wir sind also berechtigt anzunehmen, dass für die meisten oder alle Programmiersprachen eine ausreichende Ontologie existiert. Dies bedeutet, dass wir für jede gegebene Prozedur davon ausgehen können, dass es eine entsprechende DH-Repräsentation gibt, die die Implementierung dieser Prozedur verkörpert.

Prozeduren hängen natürlich von Eingaben ab, die für jeden Aufruf festgelegt sind, und erzeugen „Ausgaben“, sobald sie beendet werden. Im Kontext einer Graphendarstellung bedeutet dies, dass einige Hypernoden Werte darstellen und / oder ausdrücken, die Eingaben sind, während andere ihre Ausgaben darstellen und / oder ausdrücken. Diese Hypernoden sind abstrakt in dem Sinne (wie in Lambda-Kalkül), dass sie keinen bestimmten zugewiesenen Wert innerhalb des Körpers haben, qua formale Struktur. Stattdessen füllt eine Laufzeitmanifestation eines DH (oder äquivalent eines CH, sobald kanalisierte Typen eingeführt wurden) die abstrakten Hypernoden mit konkreten Werten, wodurch wiederum von der CH beschriebene Ausdrücke ausgewertet werden können.

Diese Punkte legen eine Strategie zur Vereinheitlichung von Lambda-Kalkülen mit Quellcode-Ontologien nahe. Das wesentliche Konstrukt in λ-Kalkülen ist, dass mathematische Formeln „freie Symbole“ enthalten, die abstrahiert werden: orte, an denen eine Formel zu einem konkreten Wert führen kann, indem sie Unbekannten Werte liefert; oder neue Formeln über verschachtelte Ausdrücke entstehen lassen. Analog dazu werden Knoten in einer graphenbasierten Quellcodedarstellung effektiv λ-abstrahiert, wenn sie Eingabeparameter modellieren, die bei der Ausführung der Prozedur konkrete Werte erhalten. Das Verbinden der Ausgabe einer Prozedur mit der Eingabe einer anderen — die als Graph—Operation modelliert werden kann und zwei Knoten verbindet – ist dann ein Graph-basiertes Analogon zum Einbetten eines komplexen Ausdrucks in eine Formel (über ein freies Symbol in der letzteren).

Um diese Analogie weiter zu führen, habe ich bereits verschiedene λ-Kalkül-Erweiterungen erwähnt, die von Programmiersprachenmerkmalen wie Objektorientierung, Ausnahmen und By-Reference- oder By-Value-Captures inspiriert sind. Auch diese können in eine Quellcode-Ontologie integriert werden: Beispielsweise unterscheidet sich die Verbindung zwischen einem Knoten, der einen Wert enthält, der in einer Prozedursignatur an einen Eingabeparameterknoten übergeben wird, semantisch von den Knoten, die „Objekte“ enthalten, die im objektorientierten Sprachgebrauch Absender und Empfänger von „Nachrichten“ sind. Variant input / Output protocols, einschließlich objects, Captures und Exceptions, sind sicherlich semantische Konstrukte (im Computercode-Bereich), die Quellcode-Ontologien erkennen sollten. Wir können also eine Konvergenz in der Modellierung vielfältiger Eingabe- / Ausgabeprotokolle über λ-Kalkül und über Quellcode-Ontologien sehen. Ich werde nun auf eine entsprechende Erweiterung im Bereich der angewandten Typentheorie eingehen, mit dem Ziel, die Typentheorie letztlich auch in diese Konvergenz zu falten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.