Reification (Informatik)

Reification (von lateinischem res (Ding) + facere (um zu machen), über Französisch réification (dieselbe Bedeutung), d. h." in ein Ding" zu machen) ist der Prozess, durch den eine abstrakte Idee über ein Computerprogramm in ein ausführliches Datenmodell oder anderen auf einer Programmiersprache geschaffenen Gegenstand verwandelt wird. Ein Computable/addressable-Gegenstand — eine Quelle — wird in einem System als eine Vertretung für nicht computable/addressable Gegenstand geschaffen. Mittels reification wird etwas, was vorher implizit, und vielleicht unaussprechliches unausgesprochen war, ausführlich formuliert und zum begrifflichen (logisch oder rechenbetont) Manipulation bereitgestellt. Informell wird reification häufig "das Bilden von etwas ein erstklassiger Bürger" im Rahmen eines besonderen Systems genannt. Etwas Aspekt eines Systems kann reified in der Sprachdesignzeit sein, die mit dem Nachdenken auf Programmiersprachen verbunden ist. Es kann als eine schrittweise Verfeinerung in der Systemdesignzeit angewandt werden. Reification ist eine der am häufigsten verwendeten Techniken der Begriffsanalyse und Kenntnisse-Darstellung.

In der Linguistik entspricht reification genanntem nominalization eines wohl bekannten Phänomenes, der Transformation eines Verbs in ein Substantiv, "bewegen Sie" z.B  "Bewegung", "ein Mitglied"  "Mitgliedschaft" sein. Nominalization macht es häufig leichter, zusätzliche Klauseln dem Verb zu liefern.

Reification und reflektierende Programmiersprachen

Im Zusammenhang von Programmiersprachen ist reification der Prozess durch der ein Benutzerprogramm oder jeder Aspekt einer Programmiersprache war die im übersetzten Programm und dem Laufzeitsystem implizit, werden auf der Sprache selbst ausgedrückt. Dieser Prozess stellt es zum Programm bereit, das alle diese Aspekte als gewöhnliche Daten untersuchen kann. Auf reflektierenden Sprachen, reification Daten wird mit dem zusammenhängenden reified solchem Aspekt kausal verbunden, dass eine Modifizierung zu einem von ihnen den anderen betrifft. Deshalb, die reification Daten ist immer eine treue Darstellung des zusammenhängenden reified Aspekts. Wie man häufig sagt, werden Daten von Reification ein Gegenstand der ersten Klasse gemacht. Reification ist mindestens teilweise auf vielen Sprachen bis heute erfahren worden: In frühen Lispeln-Dialekten und in aktuellen Einleitungsdialekten sind Programme als Daten behandelt worden, obwohl die kausale Verbindung häufig zur Verantwortung des Programmierers verlassen worden ist. Im Plausch 80 ist der Bearbeiter vom Quelltext bis bytecode ein Teil des Laufzeitsystems seit den allerersten Durchführungen der Sprache gewesen.

:: Viele Programmiersprache-Designs fassen die Details der Speicherzuteilung im Bearbeiter und dem Laufzeitsystem kurz zusammen. Im Design der C Programmiersprache ist die Speicheradresse reified und ist für die direkte Manipulation durch andere Sprachkonstruktionen verfügbar. Zum Beispiel kann der folgende Code verwendet werden, wenn man einen mit dem Gedächtnis kartografisch dargestellten Gerät-Treiber durchführt. Der Pufferzeigestock ist eine Vertretung für die Speicheradresse 0xB800000.

Char*-Puffer = (Rotforelle *) 0xB800000;

Puffer [0] = 10;

  • Funktionelle Programmiersprachen, die auf der Lambda-Rechnung reify das Konzept einer Verfahren-Abstraktion und Verfahren-Anwendung in der Form des Lambda-Ausdrucks gestützt sind.
  • Die Schema-Programmiersprache reifies Verlängerungen (ungefähr, der Anruf-Stapel).
  • In C# wird reification verwendet, um parametrischen polymorphism durchgeführt als generics als eine erstklassige Eigenschaft der Sprache zu machen.
  • Auf der javanischen Programmiersprache, dort bestehen Sie "reifiable Typen", die in der Durchlaufzeit" "völlig verfügbar sind (d. h. ihre Information während der Kompilation nicht gelöscht wird).
  • REBOL reifies codieren als Daten und umgekehrt.
  • Viele Sprachen, wie Locke, JavaScript und Lispeln stellen oder Verfahren dass effektiv reifies der Sprachdolmetscher zur Verfügung.
  • Das Logtalk Fachwerk für die Einleitung bietet ein Mittel an, reification im Zusammenhang der Logikprogrammierung zu erforschen.
  • Plausch und Schauspieler-Sprachen erlauben den reification von Blöcken und Nachrichten, die von Lambda-Ausdrücken im Lispeln und thisContext gleichwertig sind, der ein reification des aktuellen Durchführungsblocks ist.

Daten reification gegen die Datenverbesserung

Daten reification (schrittweise Verfeinerung) schließen Entdeckung einer konkreteren Darstellung der abstrakten in einer formellen Spezifizierung verwendeten Datentypen ein.

Daten reification sind die Fachsprache von Vienna Development Method (VDM), dass die meisten anderen Menschen Datenverbesserung nennen würden. Ein Beispiel macht einen Schritt zu einer Durchführung durch das Ersetzen einer Datendarstellung ohne eine Kopie auf der beabsichtigten Durchführungssprache wie Sätze durch denjenigen, der wirklich eine Kopie hat (wie Karten mit festen Gebieten, die durch die Reihe durchgeführt werden können), oder mindestens ein, der daran näher ist, eine Kopie wie Folgen zu haben. Die VDM Gemeinschaft bevorzugt das Wort "reification" über "die Verbesserung", weil der Prozess mehr verbunden das Konkretisieren einer Idee ist als mit der Raffinierung davon.

Für den ähnlichen Gebrauch, sieh Reification (Linguistik).

Reification im Begriffsmodellieren

Reification wird im Begriffsmodellieren weit verwendet. Reifying eine Beziehung hat vor, es als eine Entität anzusehen. Der Zweck von reifying eine Beziehung soll es ausführlich machen, wenn Zusatzinformation dazu hinzugefügt werden muss. Denken Sie den Beziehungstyp. Ein Beispiel dessen ist eine Beziehung, die die Tatsache vertritt, dass eine Person ein Mitglied eines Komitees ist. Die Zahl zeigt unten eine Beispiel-Bevölkerung der Beziehung in der tabellarischen Form. Person P1 ist ein Mitglied von Komitees C1 und C2. Person P2 ist ein Mitglied des Komitees C1 nur.

Dieselbe Tatsache konnte auch jedoch als eine Entität angesehen werden. Eine Beziehung als eine Entität ansehend, kann man dass die Entität reifies die Beziehung sagen. Das wird reification einer Beziehung genannt. Wie jede andere Entität muss es ein Beispiel eines Entitätstyps sein. Im gegenwärtigen Beispiel ist der Entitätstyp genannt worden. Für jedes Beispiel gibt es ein und nur ein Beispiel, und umgekehrt. Jetzt wird es möglich, mehr Information zur ursprünglichen Beziehung hinzuzufügen. Als ein Beispiel können wir die Tatsache ausdrücken, dass "Person p1 berufen wurde, um das Mitglied des Komitees c1 durch die Person p2 zu sein". Beziehung von Reified kann als die Quelle einer neuen Beziehung verwendet werden.

Weil zusammenhängender Gebrauch Reification (Kenntnisse-Darstellung) sieht.

Reification in Unified Modeling Language (UML)

UML stellt eine Vereinigungsklassenkonstruktion zur Verfügung, um reified Beziehungstypen zu definieren. Die Vereinigungsklasse ist ein einzelnes Musterelement, das sowohl eine Art Vereinigung als auch eine Art Klasse ist. Die Vereinigung und der Entitätstyp, dass reifies beide dasselbe Musterelement sind. Bemerken Sie, dass Attribute reified nicht sein können.

Reification im semantischen Web

RDF und EULE

Auf Semantischen Websprachen, wie Resource Description Framework (RDF) und Webontologie-Sprache (EULE), ist eine Behauptung eine binäre Beziehung. Es wird verwendet, um zwei Personen oder eine Person und einen Wert zu verbinden. Anwendungen müssen manchmal andere RDF Behauptungen beschreiben, um zum Beispiel Information wie zu registrieren, als Erklärungen abgegeben wurden, oder wer sie gemacht hat, der manchmal "Herkunft"-Information genannt wird. Als ein Beispiel können wir Eigenschaften einer Beziehung, wie unsere Gewissheit darüber, Strenge oder Kraft einer Beziehung, Relevanz einer Beziehung und so weiter vertreten wollen.

Das Beispiel von der modellierenden Begriffsabteilung beschreibt eine besondere Person damit, wer ein Mitglied ist. Der aus dieser Beschreibung dreifache RDF ist

person:p1 committee:isMemberOf committee:c1.

Es könnte nützlich sein zu registrieren, wer diese besondere Person zu diesem Komitee berufen hat.

RDF stellt ein eingebautes Vokabular zur Verfügung, das beabsichtigt ist, um RDF Behauptungen zu beschreiben. Eine Beschreibung einer Behauptung mit diesem Vokabular wird einen reification der Behauptung genannt. Der RDF reification Vokabular besteht aus dem Typ und den Eigenschaften, und.

Mit dem reification Vokabular würde ein reification der Behauptung über die Mitgliedschaft der Person durch das Zuweisen der Behauptung ein URIref solcher als gegeben, so dass das Beschreiben von Behauptungen wie folgt geschrieben werden kann:

committee:membership12345 rdf:type rdf:Statement.

committee:membership12345 rdf:subject person:p1.

committee:membership12345 rdf:predicate committee:isMemberOf.

committee:membership12345 rdf:object committee:c1.

Diese Behauptungen sagen, dass sich die eine RDF Behauptung identifizierte dadurch zu seien Sie Quelle, dass sich das Thema der Behauptung auf die Quelle bezieht, die durch, das Prädikat der Behauptung identifiziert ist, auf die Quelle bezieht, die dadurch identifiziert ist, und sich der Gegenstand der Behauptung auf die Quelle bezieht. Annehmend, dass die ursprüngliche Behauptung wirklich dadurch identifiziert wird, sollte es durch das Vergleichen der ursprünglichen Behauptung mit dem reification klar sein, dass der reification es wirklich beschreibt. Der herkömmliche Gebrauch des RDF reification Vokabular ist immer mit dem Beschreiben einer Behauptung mit vier Behauptungen in diesem Muster verbunden. Deshalb werden sie manchmal "reification Viererkabel" genannt.

Mit reification gemäß dieser Tagung konnten wir die Tatsache registrieren, die die Nominierung beschrieben durch die ursprüngliche Behauptung durch das Hinzufügen der Behauptung gemacht

hat

person:p2 committee:nominated committee:membership12345

Es ist wichtig zu bemerken, dass im herkömmlichen Gebrauch von reification sich das Thema des reification verdreifacht, wird angenommen, ein besonderes Beispiel eines dreifachen in einem besonderen RDF Dokument, aber nicht einigen zu identifizieren, dasselbe Thema, Prädikat und Gegenstand willkürlich dreifach zu haben. Diese besondere Tagung wird verwendet, weil reification beabsichtigt ist, um Eigenschaften wie Daten der Zusammensetzung und Quellinformation, als in den Beispielen angeführt bereits auszudrücken, und diese Eigenschaften auf spezifische Beispiele dessen angewandt werden müssen, verdreifacht sich.

Die Macht des reification Vokabulars in RDF wird durch den Mangel an einem eingebauten Mittel eingeschränkt, um URIrefs Behauptungen so zuzuteilen, um "Herkunft"-Information dieser Art in RDF auszudrücken, muss man einen Mechanismus (außerhalb RDF) verwenden, um URIs individuellen RDF Behauptungen zuzuteilen, dann weitere Erklärungen über jene individuellen Behauptungen mit ihrem URIs abgeben, um sie zu identifizieren.

Reification in Thema-Karten

In XML Topic Map (XTM) kann nur ein Thema einen Namen haben oder eine Rolle in einer Vereinigung spielen. Man kann eine Vereinigung verwenden, um eine Behauptung über ein Thema zu machen, aber man kann Behauptungen über diese Behauptung nicht direkt machen. Jedoch ist es möglich, ein Thema dass reifies eine Nichtthema-Konstruktion in einer Karte zu schaffen, so der Vereinigung ermöglichend, genannt und als ein Thema selbst behandelt zu werden.

Reification und n-stufige Beziehungen

Auf Semantischen Websprachen, wie RDF und EULE, ist ein Eigentum eine binäre Beziehung, die verwendet ist, um zwei Personen oder eine Person und einen Wert zu verbinden. Jedoch, in einigen Fällen, ist die natürliche und günstige Weise, bestimmte Konzepte zu vertreten, Beziehungen zu verwenden, um eine Person mit mehr zu verbinden, als gerade eine Person oder Wert. Diese Beziehungen werden n-stufige Beziehungen genannt. Beispiele vertreten Beziehungen unter vielfachen Personen, wie ein Komitee, eine Person, die ein Komitee-Mitglied und eine andere Person ist, die die erste Person berufen hat, um das Komitee-Mitglied, oder ein Käufer, ein Verkäufer und ein Gegenstand zu werden, der gekauft wurde, als man einen Kauf eines Buches beschrieben hat.

Eine allgemeinere Annäherung an reification soll eine ausführliche neue Klasse und n neue Eigenschaften schaffen, eine n-stufige Beziehung zu vertreten, ein Beispiel der Beziehung machend, die die n Personen ein Beispiel dieser Klasse verbindet. Diese Annäherung kann auch verwendet werden, um Herkunft-Information und andere Eigenschaften für ein individuelles Beziehungsbeispiel zu vertreten.

:p1

a: Person;

:has_membership _: membership_12345.

_: membership_12345

a: Mitgliedschaft;

:committee: c1;

:nominated_by: p2.

Reification gegen den Kostenvoranschlag

Es ist auch wichtig zu bemerken, dass der reification beschrieben hier nicht dasselbe als auf anderen Sprachen gefundener "Kostenvoranschlag" ist. Statt dessen beschreibt der reification die Beziehung zwischen einem besonderen Beispiel eines dreifachen und den Mitteln, auf die sich das dreifache bezieht. Der reification kann intuitiv gelesen werden, sagend, "hat dieser RDF dreifache Gespräche über diese Dinge", aber nicht (als im Kostenvoranschlag) "dieser dreifache RDF diese Form." Zum Beispiel, im reification Beispiel, das in dieser Abteilung, dem dreifachen verwendet ist:

committee:membership12345 rdf:subject person:p1.

das Beschreiben der ursprünglichen Behauptung sagt, dass das Thema der Behauptung die Quelle (die Person) identifiziert durch den URIref ist. Es stellt nicht fest, dass das Thema der Behauptung der URIref selbst (d. h., eine Schnur ist, die mit bestimmten Charakteren beginnt), wie Kostenvoranschlag würde.

Siehe auch


Changshan / Druck
Impressum & Datenschutz