DE69434845T2 - Multimedia-System zur interaktiven Darstellung von Benutzerinformation und Massenspeicher zum Gebrauch mit einem solchem System - Google Patents

Multimedia-System zur interaktiven Darstellung von Benutzerinformation und Massenspeicher zum Gebrauch mit einem solchem System Download PDF

Info

Publication number
DE69434845T2
DE69434845T2 DE69434845T DE69434845T DE69434845T2 DE 69434845 T2 DE69434845 T2 DE 69434845T2 DE 69434845 T DE69434845 T DE 69434845T DE 69434845 T DE69434845 T DE 69434845T DE 69434845 T2 DE69434845 T2 DE 69434845T2
Authority
DE
Germany
Prior art keywords
machine
user
mass storage
program
storage means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69434845T
Other languages
English (en)
Other versions
DE69434845D1 (de
Inventor
Alexander Augusteijn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69434845D1 publication Critical patent/DE69434845D1/de
Application granted granted Critical
Publication of DE69434845T2 publication Critical patent/DE69434845T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary

Description

  • Die vorliegende Erfindung bezieht sich auf ein Multimedia-System zur interaktiven Darstellung von Benutzerinformation, wobei dieses System Folgendes umfasst:
    • – Schnittstellenmittel zur umkehrbaren Kopplung mit Massenspeichermitteln, die ein interaktives Benutzerprogramm enthalten,
    • – Zugriffsmittel zum selektiven Zugreifen auf die genannten Massenspeichermittel,
    • – Verarbeitungsmittel, die mit den genannten Zugriffsmitteln verbunden sind, zum Verarbeiten des genannten Benutzerprogramms,
    • – Wiedergabemittel, die von den genannten Verarbeitungsmitteln gespeist werden, zum Wiedergeben von Verarbeitungsergebnissen, und
    • – Benutzerbetätigungsmittel um mittels einer selektiven Benutzerbetätigung die genannten Zugriffsmittel und die genannten Verarbeitungsmittel auf einem elementaren Benutzerfunktionalitätspegel zu steuern.
  • Multimedia bedeutet wenigstens eine Kombination von Text, stationärer Graphikwiedergabe und Bewegtbildern, wobei diese letzteren entweder in Animation oder in mehr oder weniger Vollbewegungsvideo. Zusätzliche oder alternative Merkmale können in weiteren visuellen Wiedergabetypen residieren, sowie in Sprache oder anderen Audiodarstellung, Bewegung oder anderen sensorischen Kommunikationskategorien. Die Speichermittel sind vorteilhafterweise darin einheitlich, dass es aussieht und/oder fühlt wie ein endliches und örtliches Objekt, wie eine Disk, eine Box, eine Karte oder dergleichen. In dem Fall umfassen die physikalischen Zugriffsmittel eine Art von Ankermitteln zum reproduzierbaren Positionieren der Speichermittel in oder in der Nähe der Maschine oder des Systems. Die Ankermittel werden entsprechend dem mechanischen Format und der physikalischen Interaktivität der Zugriffsmittel bemessen. Es werden mehrere derartige Ankermittelformate allgemein verwendet. Andererseits können die Speichermittel durch eine gemeinsame Datei dargestellt werden, und insbesondere einschließlich einer Programmbasis, die von einer örtlichen Benutzerperson entfernt liegt. Die Maschine ist typischerweise freistehend, obschon Verbindung mit einem LAN-Netzwerk nicht ausgeschlossen ist. Ein typisches Beispiel eines derartigen Systems ist das durchaus bekannte CD-I System ("Compact-Disc Interactive"), das zur Zeit weit vermarktet ist, obschon die vorliegende Erfindung sich nicht insbesondere auf die Anwendung mit oder in einem derartigen CD-I-System beschränkt.
  • In einem System der oben genannten allgemeinen Kategorie kann der Benutzer Fragen beantworten, welche die Maschine stellt, er kann Menü-Items selektieren, er kann auf bestimmte wiedergegebene Freistilelemente zugreifen, wodurch eine besondere Maschinenreaktion aktiviert wird, er kann Zeichnungen machen oder andere Informationskombinationen zur Wiedergabe und/oder zur Speicherung, oder zum Ansehen/Anhören eines kontinuierlich aufgezeichneten Programms zusammenstellen, während dennoch Standard-Recorderfunktionen wie Wiedergabe, Stopp, Schneller Vorlauf/Rücklauf, Springen und möglicherweise andere Funktionen nach wie vor möglich sind. Da das CD-I-System für einen großen Anwendungsbereich gedacht ist, wurde für einige Benutzerkategorien und für einige Interaktivitätspegel und Betriebsgeschwindigkeitspegel in Reaktion auf einen Antrag oder eine Aktion des Benutzers das Bedürfnis empfunden, die Speicherung in den externen Speichermitteln auf einem Organisationspegel kompakt zu machen, während auch Kompatibilität zwischen Speichereinheiten und Spielern, die beide von verschiedenen Herstellern herrühren können. Typischerweise können derartige Maschinen Standard-CD-Interaktiv-Spieler, XT/AT PC und Hergeleitete und spezifische Maschinen wie Mackintoshes und viele andere, die zur Zeit oder in Zukunft vermarktet werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Zum Laden von Information aus den externen Speichermiteln in die Maschine werden die in dem Speicher vorhandenen Daten immer interpretiert. Daten sind Informationselemente, die als Objekt für Operationen verwendet werden. Anderseits kann ein Programm, das von derartigen externen Speichermitteln geladen wird interpretiert oder kompiliert werden. Ein Programm wird aus Informationselementen aufgebaut, die zum ermitteln der Operationen selber verwendet werden. Im Grunde basiert die Speicherung in der Maschine oder in dem System auf Objektcode, weil Durchführung sofort ist und keine weiteren Aktionen erforderlich sind um die durchzuführen. Im Allgemeinen ist es u. a. eine Aufgabe der vorliegenden Erfindung, ein System zu schaffen, in dem die bestehende externe Speicherung gedrängt ist, wodurch auf diese Weise die Speicherung des Objektcodes ausgeschlossen wird, was viel Raum erfordert und wodurch eine lange Zeit zum Auslesen erforderlich ist. Wenn die Programmlänge groß wäre, müsste durch die oft begrenzte Spei cherkapazität innerhalb des Spielers oft auf die externe Information zugegriffen werden. Ein derartiges öfteres Zugreifen erfordert, dass die externe Speicherung auf eine transparente Art und Weise organisiert ist, wodurch die richtige Adresse leicht gefunden werden kann. Aber Objektcode ermöglicht im Allgemeinen ein derartiges leichtes Finden nicht. Insbesondere dort, wo das externe Speichermedium langsam ist, und zwar durch mechanische Verzögerungen bei Disks, Bändern und dergleichen, würde dies eine weitere unakzeptierbare Reduktion der gesamten Geschwindigkeit bedeuten.
  • Anderseits schließt die Aufgabe der Beibehaltung der Arbeitsgeschwindigkeit bestehende Speicherung von Instruktionen/Daten in Quellencode in den externen Speichermitteln aus, weil diese Quellencodeinstruktionen auf stückweise Basis interpretiert werden müssen, was im Wesentlichen viel Verarbeitungszeit erfordert. Deswegen weist nach einem der Aufgaben die vorliegende Erfindung das Kennzeichen auf, dass die genannten Verarbeitungsmittel Wandler-zu-Objektcodemittel zur blockweisen Umwandlung von maschinentypauswählbaren Multiinstruktionsblöcken, die aus den genannten Speichermitteln ausgelesen sind in maschinentypspezifische Objektcodeblöcke zur nachfolgenden örtlichen Speicherung und selektiven Zugriff auf den genannten Objektcode durch sekundäre Zugriffsmittel in den genannten Verarbeitungsmitteln.
  • Maschinentypauswählbar bedeutet, dass viele der oben genannten auswählbaren Instruktionen vielen der oben genannten Maschinentypen gemein sind. Maschinentypspezifisch bedeutet, dass nur ein einziger Maschinentyp oder nur sehr nahe liegende Typen imstande sind, ein derartiges Programm unmittelbar durchzuführen, wie Maschinen, die einen Teil einer bestimmten Reihe bilden, die als kommerziell "aufeinander folgend" vermarktet werden.
  • Im Endeffekt haben maschinentypauswählbare Instruktionen ein Format, das einfach strukturiert ist und derart gespeichert werden kann, dass ein extrem einfacher Zugriff darauf möglich ist. Auf jedem anwendbaren Pegel ist der Zugriff blockweise, wie durch Segmentierung, obschon nicht darauf begrenzt. Dies bedeutet, dass das Programm selber genau die Speicherstelle jedes Programmitems kennt, und zwar durch die eigene logische Struktur. Die Information kann sogar diskriminierbar sein, und zwar entsprechend der Kategorie eines derartigen Programmitems.
  • Die vorliegende Erfindung bezieht sich auch auf ein einheitliches Massenspeichermittel zur Verwendung in dem oben genannten System. Physikalisch kann dieses Mittel in Form einer Compact Disk, eines Magnetbandes, einer Speicherkassette vom Konsumententyp, eines elektronischen Moduls oder eines anderes Mittels sein. Weitere vorteilhafte Aspekte der vorliegenden Erfindung sind in den Unteransprüchen definiert.
  • Die Europäische Patentanmeldung 0510616 (D1) beschreibt ein Übersetzungssystem zum Übersetzen von Quellenprogrammen in Maschinensprachprogramme. Eine Kompiler übersetzt ein Quellenprogramm in ein abstraktes Zielprogramm mit einer abstrakten Maschineninstruktionssequenz und einer Angabe in Bezug auf die Zuordnung abstrakter Register. Ein Installer verwandelt das abstrakte Zielprogramm in ein Maschinensprachprogramm des Zielcomputers auf Basis von durchführbarer Computerspezifikationsinformation mit Registerverwendungsangabe und Maschineninstruktionsselektionsregeln. Der beschriebene Installer arbeitet durch Übersetzung eines abstrakten Zielprogramms in ein Maschinensprachprogramm vor der Durchführung dieses Maschinensprachprogramms.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • 1 eine schematische Darstellung mehrerer Verwirklichungen für ein Multimediasystem für interaktive Präsentation von Benutzerinformation,
  • 2 eine Symbolisierung eines maschinentypwählbaren Codes gegenüber einem maschinentypspezifischen Code,
  • 3 ein Flussdiagramm des Umwandlungsprozesses,
  • Tabelle 1 eine spezielle Programmliste in der Sprache C,
  • Tabelle 2 dieselbe Programmliste in der Zusammenstellungssprache,
  • Tabelle 3 dieselbe Programmliste in der maschinenwählbaren Sprache nach der vorliegenden Erfindung.
  • 1 ist eine einigermaßen symbolische Darstellung eines Schemas mehrerer Verwirklichungen eines Multimediasystems für interaktive Präsentation von Benutzerinformation. Der Block 20 stellt das Massenspeichermedium dar, beispielsweise in For, einer CD-I Disk, einer Magnetbandkassette, eines Halbleiterspeichers oder eines anderen Mediums, oder in Form eines Fernprogramms/einer Ferndatei. Wenn einheitliche Speichermittel verwendet werden, ist dieser Block meistens entfernbar, wie bei einer CD, durch umkehrbare Einführung eines Speichermoduls, oder ein anderes Mittel in einen geeigneten Schlitz eingeschoben. Der obere Kanal stellt eine erste An und Weise des Zugriffs auf den Speicher dar. Der Kürze wegen sind elektromechanische/optische Subsysteme nicht detailliert in betracht gezogen. In einer ersten Verwirklichung enthält das gespeicherte Programm Ausdrücke in einer Hochpegelsprache, die meistens von Menschen direkt gelesen werden kann, durch die Verwendung von Mnemotechnik und anderer Typen von Schreibweisen. Als zweiter Vorteil ist es ziemlich kompakt. Nun stellt der Block 22 einen Zugriffsmechanismus dar, der instruktionsweise auf die Speicherung zugreift und sie ausliest. Danach wird die auf diese Art und Weise ausgelesene Instruktion in dem Block 24 interpretiert, um zu unterscheiden, welcher Vorgang durchgeführt werden soll und auch in Bezug auf welches Objekt. Die Interpretation erfolgt auf Basis von handware-unabhängigen Codes oder Befehlscodes. Der Interpreter liest Befehlscodes und Operanden, die ggf. zueinander passen, und modifiziert Daten innerhalb der Maschine. Im Wesentlichen verhält sich der Interpreter wie in Softwareprozessor. Im Allgemeinen hat ein derartiges Hochpegelprogramm mehrere Arten von Instruktionsformaten, die Befehlscodes, Operanden, Quellen-/Zieladressen, Merker und mehrere andere Elemente umfassen kann.
  • Andererseits können die Speichermittel Objektcode speichern, der im Allgemeinen aus einer Reihe von Zahlen besteht, die je einen elementaren Maschinenvorgang oder Dateneinheit darstellen. Objektcode kann im Allgemeinen nicht von Menschen gelesen werden. Die Form der Objektcodes ist abhängig von dem wirklichen Instruktionssatz, aber auch von den verfügbaren Registern, Kanälen, Ports und anderen Hardwareelementen. Wenn anwendbar findet die Interpretation einer Quellencodeinstruktion oder die Durchführung einer Objektcodeinstruktion in dem Prozessor oder in dem Prozessorteil 26 statt. Das Ergebnis einer derartigen Verarbeitung kann eine Benutzerwiedergabeänderung sein, symbolisiert durch den Pfeil 28, und weiterhin kann es Grund geben, auf eine weitere Instruktion zuzugreifen, wie durch den Pfeil 38 symbolisiert, die wieder den Zugriffsmechanismus aktiviert. Das System arbeitet langsam, entweder weil die Interpretation in dem Block 24 viel Zeit nimmt, oder auf alternative Weise, weil das Zugreifen des Objektcodes auf das Speichermedium auch langsam sein kann.
  • Nun stellt der untere Kanal eine zweite und alternative Möglichkeit auf den Speicher zuzugreifen, insbesondere nach der vorliegenden Erfindung. Hier kann das Speichermedium genau dieselbe physikalische Konfiguration haben, aber die organisatorische Verwirklichung ist anders, wobei die Figur auf diese Weise im Endeffekt zwei verschiede ne Verwirklichungen für dasselbe Medium darstellt. Der Speicher enthält blockweise organisierte Instruktionen in einem maschinentypgenerischen Format, d.h. die Instruktionen spezifizieren nicht die wirklichen Vorgänge auf dem Registerpegel, obschon ihr Inhalt elementar ist. Dies bedeutet, dass das Format unabhängig ist von der wirklichen Registerkonfiguration, so dass die Instruktion an verschiedenen Hardware-Maschinentypen durchgeführt werden könnte. Insbesondere können die Hardware, der Instruktionensatz und mehrere andere Vorkehrungen und funktionelle Eigenschaften viel Variation zeigen, wie I/O-Anordnungen, Treiberstufen, Videohardware, Zeitgeber, Maus, usw. obschon ein bestimmter generischer Charakter einem Teil all dieser Elemente gemein ist. Nun wird die blockweise Zugreifbarkeit durch assoziierte Adressen, Label, Verteilung oder dergleichen verwirklicht. Der Zugriff auf den Pegen eines Blocks erfolgt durch den Hardware-Maschinenblock 30. In dem Hardwareblock 32 wird der auf diese Weise ausgelesene Instruktionenblock übersetzt oder umgewandelt in einen Objektcode, der maschinenspezifisch für die betreffende Maschine ist. Andere Maschinentypen können folglich wahrscheinlich nicht das Ergebnis dieser bestimmten Übersetzung durchführen. Die Übersetzung führt auch zu Expansion. Danach werden die nun verfügbaren Instruktionen selektiv durchgeführt, und zwar durch das Verarbeitungselement 34, was, zu einem hohen Grad dem oben beschriebenen Block 26 entspricht. Die Wiedergabe wird wieder durch den Pfeil 36 dargestellt; aber im Widerspruch zu der Situation in Bezug auf Block 26 ist Rückkopplung nun derselbe Block der übersetzten Instruktionen wie durch den Pfeil 40 symbolisiert. Auf das relativ seltene Auftreten eines Bezugswertes außerhalb des Blocks, der die Zugriffsmittel 30 aktivieren würde, ist der Kürze wegen verzichtet. Eine vertikale gestrichelte Linie in dem Block 32 symbolisiert die doppelte Funktion, d.h. für Übersetzung und Speicherung.
  • 2 symbolisiert maschinentypgenerischen gegenüber maschinen Typspezifischem Code. Der Block 50 stellt eine Quellencodeinstruktion dar. Dies kann im Allgemeinen durch die Anwendung von Mnemotechnik, von einzelnen Registeridentifizieren und dergleichen mit dem menschlichen Auge direkt ausgelesen werden. Auf dem Syntaxpegel kann das Programm, das aus diesen Quellencodes besteht, durchgeführt werden, sogar wenn es einen bestimmten Betrag an Fehlern enthält, wie eine überflüssige oder fehlende Klammer. Der Block 52 stellt eine maschinentypgenerische Instruktion dar. Diese braucht nicht mehr vom Menschen gelesen werden zu können, aber andererseits muss die Formulierung in dem Programm völlig einwandfrei sein. Der Block 54 stellt zwei verschie dene maschinenspezifische Instruktionen dar, die nur auf einem bestimmten Maschinentyp etwas durchführen. Die dargestellten Pfeile in der Figur geben die Wechselbeziehungen zwischen den jeweiligen Instruktionstypen an.
  • 3 ist ein Flussdiagramm, das den Umwandlungsprozess illustriert. Im Allgemeinen folgt die Übersetzung aus dem maschinentypgenerischen Code in den maschinentypspezifischen Code demselben Weg wie der herkömmliche Kompilationsprozess von einer Hochpegelprogrammierungssprache in den maschinenspezifischen Code. Der vorliegende Prozess kann aber stark optimiert werden, wenn die maschinengenerische Codenotation sorgfältig entworfen worden ist, wie nachstehend näher erläutert wird. Der Kompilationsprozess kennt vier aufeinander folgende Stufen. In 3 gibt der Block 60 die Auslösung an, die eine ausreichende Anzahl Möglichkeiten bietet, wie Speicherungs- und Verarbeitungskapazität. In dem Block 62 wird der maschinengenerische Code geladen. Der maschinengenerische Code besteht aus 8-bit Zeichen und wird durch einen Scanner auf einer Sequenz von Tokens oder Symbolen abgebildet, die auch je eine Größe von 8 Bit haben; die Erzeugung des Tokenstromes ist durch den Übergang zu dem Block 64 symbolisiert. Dank der speziellen Struktur des maschinengenerischen Codes ist dies meistens eine Ein-zu-Ein-Abbildung auf Zeichenbasis. So wird beispielsweise jedes Trenn-Item, jede Klammer, und jede Mnemotechnik auf einem einzigen derartigen Zeichen abgebildet. Eine kleine Kategorie von Symbolen braucht mehr als nur ein Zeichen, wie eine ganze Zahl, die einen beträchtlichen Bereich hat. Im Gegensatz dazu ist zum Kompilieren einer Hochpegelsprache ein beträchtlicher Aufwand erforderlich um den Zeichenstrom in einen Tokenstrom zu übersetzen. Beim Übergang zu dem Block 66 wird der Tokenstrom auf eine strombasierte Weise in eine Datenstruktur umgewandelt, wobei diese Umwandlung durch einen Analysator oder Syntaxanalysator durchgeführt wird. Die Struktur des maschinengenerischen Codes stellt spezifisch beispielsweise mehrere Deklarationen, Vorgänge, Label usw. dar, je durch ein einziges Zeichen. Dadurch, dass eine einfache Struktur für MCG-Programm gewählt wird, kann der Umwandlungsprozess einfach, und folglich effizient gehalten werden. Beim Übergang zu dem Block 68 wird der Übergang der Struktur zu dem maschinenspezifischen Code durch einen Codegenerator durchgeführt. Weil der maschinenspezifische Code einen Niederpegelcharakter hat (dies im Gegensatz zu der Hochpegelsprache), ist der letztere Umwandlungsschritt relativ einfach und folglich effizient. In dem Block 70 wird der Prozess durch Entladen des neuen Codes, erzeugt wie erläutert, durchgeführt.
  • Im Allgemeinen kann der maschinencodegenerische Übersetzer noch effizienter sein als ein Hochpegelübersetzer, weil der maschinengenerische Code speziell zum Erreichen einer derartigen Effizienz entworfen worden ist.
  • Die Tabelle 1 zeigt eine spezielle Programmauflistung in der Sprache höheren Pegels C, wobei ein derartiges Programm herkömmlicherweise von einem menschlichen Programmierer entworfen wird. Der Einfachheit halber ist ein äußerst einfaches Beispiel vorgesehen, das es ermöglicht, eine Funktion zu berechnen durch Wirkung an zwei Reihen x, y, deren Abmessungen nachher in einem speziellen Intervall spezifiziert werden. Insbesondere ist die Verwendung von vier verschiedenen Laufanweisungen offensichtlich. Einschließlich eines bestimmten Betrags an Looping und Deklaration von zwischen liegenden Variablen s, t, i, zählt das Programm, wie dargestellt, 277 Zeichen, die je als ein spezielles 8-Bit Zeichen dargestellt werden. Obschon eine menschliche Person die Bedeutung und die Gesamtstruktur des Programms leicht begreifen kann, kann eine Maschine keinen Vorgang unternehmen, weil diese nicht wissen würde, was die Bedeutung die jeweiligen Zeichen wäre. Weiterhin ist die Abbildung an der verfügbaren Hardware nicht spezifziert, und ist auch nicht schnell deutlich. Deswegen ist die Formulierung hardwareunabhängig.
  • Die Tabelle 2 zeigt dasselbe Programm, nach extensiver Optimierung, aufgelistet in der Zusammenstellungssprache für eine bestimmte Maschine, in dem vorliegenden Fall eine SPARC-basierte Maschine, wobei SPARC ein Handelsname von SUN Corporation ist. Ein derartiges Programm kann von einem Maschineninterpreter erzeugt werden, der die jeweiligen Listungselemente der Tabelle 1 in ihrem geeigneten Programmkontext verarbeitet, auf Syntaxfehler kontrolliert, auf denjenigen Hardwaremitteln abbildet, von denen er weiß, dass sie verfügbar sind, und im Allgemeinen als ein äußerst nützliches Werkzeug für den menschlichen Programmierer arbeitet. Die Auflistung ist etwas kompakter als die der Tabelle 1, weil alle Befehlscodes, Register, Datenstrecken, Speicheradressen usw. explizit durch meistens nur ein einziges Zeichen spezifiziert werden können. Im Wesentlichen enthält die Auflistung wegen der engen Beziehung mit der Hardware, viel mehr Information als die Tabelle 1. Durch die Abbildung aber ist die resultierende Länge des Programms etwas kleiner als nach 1, und zwar nur 224 Zeichen. Es sei bemerkt, dass, wie nachstehend noch näher erläutert wird, zusätzliche Information erforderlich ist wenn Bereichsregeln angewandt werden, welche den mehr oder weniger globalen Charakter einer bestimmten Variablen, eines Moduls, einer Subroutine, usw. definieren, wodurch die assoziierte Abrufbarkeit beeinflusst wird. Derartige ziierte Abrufbarkeit beeinflusst wird. Derartige Bereichsregeln würden die Module angeben, die einander aufrufen, wobei diese Angaben auf das ganze Programm angewandt werden könnte. Aber nach Umwandlung des Programms würden diese Tabelle wieder überflüssig werden; sie können dann zurückgelassen werden, ohne dass dies zusätzlichen Raum erfordert.
  • Die Tabelle 3 zeigt dasselbe Programm in maschinengenerischer Sprache nach der vorliegenden Erfindung, aufgelistet nach Optimierung, und da von einem Maschinenkompiler nach der vorliegenden Erfindung erzeugt, startend von dem Quellencode der Tabelle 1. Genau wie bei dem Übergang von der Tabelle 1 zu der Tabelle 2 wird der Maschinenkompiler das Sourceprogramm auf Richtigkeit kontrollieren, wird aber nicht auf das Hardware abbilden, sondern nur voraussetzen, dass ein minimaler Betrag an Hardware vorhanden ist, so dass bei der wirklichen Durchführung die Verfügbarkeit von mehr oder weniger Hardware (Register, Datenstreckenbreite, einzelne Multiplizierer, usw.) die etwaige Verarbeitungsgeschwindigkeit weitgehend beeinflussen können. In der Auflistung ist jedes Wort, jeder Operand, jeder isolierte Buchstabe oder jede Klammer in die Form eines einzigen 8-Bit Zeichens umgewandelt worden, so dass nur 136 Zeichen ausreichen würden, was wesentlich weniger ist als in der Tabelle 2. Die nachfolgenden besonderen Maßnahmen sind getroffen worden um das Format zu reduzieren, da von der höheren Sprachenlistung der Tabelle 1 gestartet wird. Erstens ist alle Typeninformation unterdrückt worden, die unter einer echten, Gliederung unterscheiden würde: dies kann bei Durchführung auf einfache Art und weise bestätigt werden. Zweitens sind alle Namen von variablen unterdrückt worden. Drittens werden alle Stichwörter und Standardsymbole wieder auf einem einzigen Zeichen abgebildet, je wie oben erklärt. Die Auflistung ist äußerst gedrängt und weiterhin kann diese schnell verarbeitet werden, da keine sog. Bereichsregeln eingehalten werden müssen; diese geben den Grad der Lokalisierung an, wie ob eine bestimmte Variable nur eine örtliche Anwendbarkeit oder durch die Deklaration zu einem bestimmten höheren Pegel in der Struktur des Programms gehört. Dieses letztere Merkmal gibt es nicht in diesem besonders einfachen Programm, sondern findet weite Anwendung in verschachtelten Strukturen. Weiterhin sind in diesem Kontext, auch Klammern unterdrückt.
  • Untenstehend folgt eine Liste mit Elementen des maschinengenerischen Programms, zusammen mit der Bedeutung oder Funktion, ausgehend von oben:
    Ff definiert "Funktion" mit dem Namen f, was der Name des Programms ist;
    L4 spezifiziert den gebrauch von vier örtlichen Variablen;
    C2.. instruiert die Löschung von Variablen 2, 3 bzw. 1;
    1: ist ein Label;
    =4.. ordnet der Variablen 4 den Wert des Parameters ($) 1 zu, der indexiert ist (@) mit der örtlichen Variablen (#) 1;
    Z4 2: wenn die Variable 4 den Null-Sprung zu dem Label 2 entspricht;
    2#4 addiert den Wert der Variablen 4 zu der Variablen 2;
    I1: inkrementiert die Variable 1;
    G1: gehe zu dem Label 1 (dies ist das Ende der ersten iterativen Schleife);
    danach folgt das Löschen der Variablen 1 und einer ähnlichen Schleife mit dem Label 3, die nur den Parameter 2 benutzt;
    L.. wenn die Variable 2 kleiner ist als die Variable 3, gehen zu dem Label 5;
    7:, 9: zwei weitere Schleifen, die je zwei Zuordnungen haben,
    =#4 der örtlichen Variablen 4 soll der Wert des Parameters zugeordnet werden, wie dieser in der Schleife mit dem Label "1" spezifiziert ist;
    =$1.. dem Parameter 1 mit dem Index mit dem Wert 1 wird der Wert der Variablen 4 zugeordnet;
    E: Ende.
  • Text in der Zeichnung
  • 3
  • 60
    Start
    66
    Struktur
    70
    Ende

Claims (8)

  1. Multimedia-System zur interaktiven Darstellung von Benutzerinformation, wobei dieses System Folgendes umfasst: – Schnittstellenmittel zur umkehrbaren Kopplung mit Massenspeichermitteln (20), die ein interaktives Benutzerprogramm enthalten, – Zugriffsmittel (30) zum selektiven Zugreifen auf die genannten Massenspeichermittel, – Verarbeitungsmittel (34), die mit den genannten Zugriffsmitteln verbunden sind, zum Verarbeiten des genannten Benutzerprogramms, – Wiedergabemittel (36), die von den genannten Verarbeitungsmitteln gespeist werden, zum Wiedergeben von Verarbeitungsergebnissen, und – Benutzerbetätigungsmittel um mittels einer selektiven Benutzerbetätigung die genannten Zugriffsmittel und die genannten Verarbeitungsmittel in Reaktion auf einen Benutzerantrag oder eine Benutzeraktion zu steuern, dadurch gekennzeichnet, dass die genannten verarbeitungsmittel Folgendes umfassen: – Wandler-zu-Objektcodemittel (32) um, wenn von dem Massenspeicher aus während der Laufzeitdurchführung des Benutzerprogramms auf einen ein Block des Benutzerprogramms zugegriffen werden soll, selektiv zugegriffene maschinenartige allgemeine Multiinstruktionsblöcke des Benutzerprogramms, ausgelesen aus den genannten Massenspeichermitteln in maschinenartige spezifische Objektcodeblöcke zur nachfolgenden örtlichen Speicherung umzuwandeln, wobei die maschinenartigen allgemeinen Multiinstruktionsblöcke elementare Instruktionen enthalten, welche die wirklichen Vorgänge auf dem Registerpegel entsprechend der wirklichen Registerkonfiguration der Verarbeitungsmittel nicht spezifizieren, – sekundäre Zugriffsmittel zum selektiven Zugreifen auf den örtlich gespeicherten maschinenartigen spezifischen Objektcode.
  2. System nach Anspruch 1, wobei die maschinenartigen allgemeinen Instruktionen im Wesentlichen alle Instruktionscodes und Datenelemente als einzelne Zeichen spezifizieren.
  3. System nach Anspruch 1 oder 2, wobei die genannten Massenspeichermittel von einheitlicher Form sind und die genannten Schnittstellenmittel einen Platz zur entfernbaren Positionierung der Massenspeichermittel aufweisen.
  4. System nach Anspruch 3, wobei die genannten Massenspeichermittel scheibenförmig sind und insbesondere eine optisch auslesbare Scheibenform haben.
  5. System nach Anspruch 3, wobei die genannten Massenspeichermittel bandförmig sind und insbesondere eine magnetische auslesbare Bandform haben.
  6. System nach Anspruch 3, wobei die genannten Massenspeichermittel Halbleiter sind.
  7. Computerprogrammprodukt (20) zur Anwendung in einem Multimedia-System nach Anspruch 1, mit Schnittstellenmitteln zur umkehrbaren Kopplung mit Massenspeichermitteln zur interaktiven Darstellung von Benutzerinformation, wobei das Computerprogrammprodukt ein interaktives Benutzerprogramm aufweist, das Benutzerbetätigung des Multimedia-Systems in Reaktion auf einen Benutzerantrag oder eine Benutzeraktion ermöglicht, wobei das Benutzerprogramm maschinenartige allgemeine Multiinstruktionsblöcke aufweist, wobei die Blöcke elementare Instruktionen aufweisen, welche die wirklichen Vorgänge auf einem Registerpegel entsprechend der wirklichen Registerkonfiguration des Multimediasystems nicht spezifizieren, wobei auf die Blöcke des Benutzerprogramms, wenn von dem Massenspeicher aus während der Laufzeitdurchführung des Benutzerprogramms auf einen Block des Benutzerprogramms zugegriffen werden soll, von dem Multimedia-System selektiv zugegriffen wird, um darin die maschinenartigen allgemeinen Multiinstruktionsblöcke in einen maschinenspezifischen Objektcode umzuwandeln zur nachfolgenden örtlichen Speicherung und zum nachfolgenden selektiven Zugriff auf den genannten örtlich gespeicherten maschinenspezifischen Objektcode durch das Multimedia-System.
  8. Computerprogrammprodukt nach Anspruch 7, wobei die maschinenartigen allgemeinen Instruktionen im Wesentlichen alle Instruktionscodes und Datenelemente als einzelne Zeichen spezifizieren.
DE69434845T 1993-07-22 1994-07-14 Multimedia-System zur interaktiven Darstellung von Benutzerinformation und Massenspeicher zum Gebrauch mit einem solchem System Expired - Lifetime DE69434845T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP93202151 1993-07-22
EP93202151 1993-07-22

Publications (2)

Publication Number Publication Date
DE69434845D1 DE69434845D1 (de) 2006-10-26
DE69434845T2 true DE69434845T2 (de) 2007-05-16

Family

ID=8213995

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69434845T Expired - Lifetime DE69434845T2 (de) 1993-07-22 1994-07-14 Multimedia-System zur interaktiven Darstellung von Benutzerinformation und Massenspeicher zum Gebrauch mit einem solchem System

Country Status (5)

Country Link
US (1) US5666517A (de)
EP (2) EP1729216A3 (de)
JP (2) JPH0778084A (de)
KR (1) KR100314692B1 (de)
DE (1) DE69434845T2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3586953B2 (ja) * 1995-11-08 2004-11-10 ソニー株式会社 データ記録装置および記録方法
KR100464761B1 (ko) * 1997-11-29 2005-04-06 볼보 컨스트럭션 이키프먼트 홀딩 스웨덴 에이비 중장비용 유압장치
KR102471489B1 (ko) * 2015-07-15 2022-11-28 현대두산인프라코어(주) 건설기계 및 건설기계의 제어 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4847737A (de) * 1971-10-12 1973-07-06
US4667290A (en) * 1984-09-10 1987-05-19 501 Philon, Inc. Compilers using a universal intermediate language
US4710872A (en) * 1985-08-07 1987-12-01 International Business Machines Corporation Method for vectorizing and executing on an SIMD machine outer loops in the presence of recurrent inner loops
US5093916A (en) * 1988-05-20 1992-03-03 International Business Machines Corporation System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
EP0423989A3 (en) * 1989-10-16 1992-09-23 Hewlett-Packard Company Software compiler and linker with improved line number table
JP3602857B2 (ja) * 1991-04-23 2004-12-15 株式会社日立製作所 多機種対応型情報処理システム、および、方法
WO1992022029A1 (en) * 1991-05-24 1992-12-10 British Technology Group Usa, Inc. Optimizing compiler for computers

Also Published As

Publication number Publication date
KR100314692B1 (ko) 2002-02-19
JPH0778084A (ja) 1995-03-20
EP0635783A1 (de) 1995-01-25
DE69434845D1 (de) 2006-10-26
EP0635783B1 (de) 2006-09-13
EP1729216A2 (de) 2006-12-06
JP2006318493A (ja) 2006-11-24
KR950004017A (ko) 1995-02-17
EP1729216A3 (de) 2007-04-04
US5666517A (en) 1997-09-09

Similar Documents

Publication Publication Date Title
DE69918334T2 (de) Erzeugung von kompilierten programmen für interpretative laufzeitumgebungen
EP0502857B1 (de) Verfahren zur dynamischen bindung von definierbaren programmelementen eines interaktiven datenverarbeitungssystems
US5293615A (en) Point and shoot interface for linking database records to spreadsheets whereby data of a record is automatically reformatted and loaded upon issuance of a recalculation command
DE69936162T2 (de) Verfahren und Gerät für ein objektorientiertes Unterbrechungssystem
US5235701A (en) Method of generating and accessing a database independent of its structure and syntax
US20060168562A1 (en) Viewing and editing markup language files with complex semantics
DE69533193T2 (de) Paralleles verarbeitungssystem zum durchlaufen einer datenbank
DE3743890A1 (de) Verfahren zum schnellen eroeffnen von plattendateien
DE69932803T2 (de) Dynamisch ladbare satzbuchbibliotheken für gesprochene sprachgrammatik in einem interaktiven system
DE69934208T2 (de) Flexible verwaltung von mehreren dateisystemen
US5826088A (en) System for protecting computer software written in interpreted language
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
DE10053856A1 (de) Verfahren zum Erstellen von Multimedia-Projekten
DE69434845T2 (de) Multimedia-System zur interaktiven Darstellung von Benutzerinformation und Massenspeicher zum Gebrauch mit einem solchem System
DE60105490T2 (de) Informationsaufzeichnungsmedium, Informationsaufzeichnungsverfahren, Informationsaufzeichnungsgerät, Informationswiedergabeverfahren und Informationswiedergabegerät
EP1145118A2 (de) Verfahren zum linken von in einen arbeitsspeicher eines prozessors nachgeladenen programmodulen auf einer chipkarte
DE19963832A1 (de) Programmprofilierung
Van Dam et al. A compact data structure for storing, retrieving and manipulating line drawings
DE2249852A1 (de) Computersystem
DE69728766T2 (de) System von Programmobjekten und Programmkomponenten mit externer Schnittstelle
DE19729911A1 (de) System zur Verbesserung der Organisation von Daten einer Dokumentation
DE69830269T2 (de) Verfahren und Gerät zum Zugriff auf Datensätze in einem Massenspeicher
EP1062630B1 (de) Datenträger
DE60105081T2 (de) Datenspeichermeidum mit unterschiedlichen Formaten mit einem gemeinsamen Teil
Venables Programmer’s niche

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition