DE69425684T2 - System und Verfahren zur Verwaltung elektronischer Modellierungssysteme - Google Patents

System und Verfahren zur Verwaltung elektronischer Modellierungssysteme

Info

Publication number
DE69425684T2
DE69425684T2 DE69425684T DE69425684T DE69425684T2 DE 69425684 T2 DE69425684 T2 DE 69425684T2 DE 69425684 T DE69425684 T DE 69425684T DE 69425684 T DE69425684 T DE 69425684T DE 69425684 T2 DE69425684 T2 DE 69425684T2
Authority
DE
Germany
Prior art keywords
locations
information
cells
changed
new version
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 - Fee Related
Application number
DE69425684T
Other languages
English (en)
Other versions
DE69425684D1 (de
Inventor
Joseph Michael Ammirato
Gavin Peacock
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.)
Borland Software Corp
Original Assignee
Inprise Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21859126&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69425684(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Inprise Corp filed Critical Inprise Corp
Publication of DE69425684D1 publication Critical patent/DE69425684D1/de
Application granted granted Critical
Publication of DE69425684T2 publication Critical patent/DE69425684T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/197Version control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die Patentschrift beschreibt auch Gegenstände, die durch das Urheberrecht geschützt. Der Inhaber des Urheberrechts stellt den Abdruck der Patentschrift und der Patentbeschreibung jedermann frei, soweit auch in der Akte des Patentamts enthalten. Ansonsten werden alle Urheberrechte vorbehalten.
  • Die Erfindung betrifft allgemein das Gebiet der Verarbeitung mit digitalen Computern und ist insbesondere anwendbar auf die Verarbeitung und Darstellung von Information im Zusammenhang mit der Mensch-Maschine-Schnittstelle elektronischer Modellbildungssysteme.
  • Auf dem Gebiet der Prozessregelung gibt es zahlreiche Prozesse, beispielsweise industrielle Prozesse oder die Berechnung von Tabellen, bei denen Abläufe innerhalb des Prozesses und vom Prozess erzeugte Vorgänge durch ein Modell definiert werden. Das Modell kann das Zusammenspiel zahlreicher aufeinander bezogener Untermodelle oder Formeln umfassen, die auch von Eingabewerten abhängen können, die beispielsweise ein Benutzer zuführt. Die Ausgaben des Systems können ein Regelsignal zum Einsatz in der Prozessregelung sein, oder es kann sich einfach um eine Darstellung des momentanen Modellzustands handeln. In solchen komplizierten Situationen kann das Endergebnis unerwünscht sein, und zwar auch für sonst annehmbare Eingabewerte. Man kann damit eine Benutzerschnittstelle bereitstellen, mit der man verschiedene Prozessvorgänge mit "Was-wäre-wenn"-Szenarien untersuchen kann. Ein bekanntes Beispiel hierfür ist die Tabellenkalkulation. Daher werden in derfolgenden Beschreibung hauptsächlich Tabellenkalkulationen als Beispiele für modellierte Prozesse verwendet, wobei für die eingesetzte Mensch-Maschine- Schnittstelle Entwurfsanstrengungen nötig sind, damit eine wirksame Maschinennutzung bzw. Prozessregelung erfolgt.
  • Vor dem Computerzeitalter erfolgten nummerische Untersuchungen, insbesondere aus dem Bereich der Finanzen, auf dem Spaltenschreibblock oder der Tabelle eines Buchhalters, und zwar von Hand mit Bleistift und Rechenmaschine. Durch das Anordnen von Daten in Zeilen und Spalten erreicht man mit der Tabelle die rasche Angleichung von Information. Der Vorgang ist jedoch meist sehr langsam; man muss jeden Eintrag mühsam errechnen und in die Tabelle einfügen. Da für alle Berechnungen der Ersteller der Tabelle verantwortlich ist, sind von Hand erstellte Tabellen häufig fehlerhaft. Das Tabellenerstellen von Hand ist also langsam, mühselig und unzuverlässig.
  • Mit dem Erscheinen der Mikrocomputer bot sich eine Lösung in Form der "elektronischen Tabellenkalkulation". Diese Programme, die einfach als "Tabellenkalkulation" besser bekannt sind, bieten eine computergestützte Alternative zu herkömmlichen Finanz-Modellbildungswerkzeugen: dem Spaltenschreibblock des Buchhalters, Bleistift und Rechenmaschine. In gewisser Hinsicht verhalten sich Tabellenkalkulationsprogramme zu diesen Werkzeugen wie Textverarbeitungssysteme zu Schreibmaschinen. Die Tabellenkalkulation bietet wesentliche Verbesserungen beim Erzeugen, Verändern und Einsetzen von Modellen.
  • Ein übliches Tabellenkalkulationsprogramm konfiguriert den Speicher eines Computers derart, dass er der Zeilen- und Spalten- bzw. Gitteranordnung eines Buchhalter-Spaltenschreibblocks gleicht und damit dem Benutzer eine sichtbare Rechenmaschine zur Verfügung stellt. Da dieser "Schreibblock" dynamisch im Speicher des Computers vorhanden ist, unterscheidet er sich jedoch von Papierschreibblöcken in mehreren wichtigen Dingen. Orte in der elektronischen Tabelle muss man dem Computer beispielsweise in einem Format mitteilen, das für ihn verständlich ist. Ein normales Schema hierfür ist das Zuweisen einer Zahl an jede Zeile und eines Buchstabens an jede Spalte in einer Tabelle. Zum Ansprechen eines Orts in der Spalte A und Zeile 1 (d. h. in der linken oberen Ecke) drückt der Benutzer beispielsweise "A1". Auf diese Weise definiert die Tabellenkalkulation einen adressierbaren Speicherplatz bzw. eine "Zelle" an jedem Schnittpunkt einer Zeile mit einer Spalte.
  • Die Dateneingabe in eine elektronische Tabellenkalkulation geschieht wie folgt. Nach dem Positionieren eines Bildschirmcursors an einem gewünschten Ort kann der Benutzer alphanumerische Information eingeben. Neben dem Speichern von Text und Zahleninformation können Tabellenkalkulationszellen jedoch auch Sonderanweisungen oder "Formeln" speichern, die Berechnungen festlegen, die mit den Zahlen auszuführen sind, die in den Tabellenkalkulationszellen gespeichert sind. Auf diese Weise können Zellenbezüge als Variablen in einer Gleichung dienen; sie erlauben es damit, exakte mathematische Zusammenhänge zwischen Zellen zu definieren. Der Aufbau und die Wirkungsweise eines Tabellenkalkulationsprogramms einschließlich der höheren Leistungsmerkmale wie Funktionen und Macros sind in der technisch-kommerziellen Literatur und im Patentschrifttum dokumentiert. Einen Überblick kann man sich in Cobb, S., Using Quattro Pro 2, Borland-Osborne/McGraw Hill, 1990, und Leßlond, G. und Cobb, D., Using 1-2-3, Qua Corp., 1985, verschaffen.
  • Die elektronische Tabellenkalkulation bietet verglichen mit ihrem Gegenstück auf dem Papier zahlreiche Vorteile. Zum einen sind elektronische Tabellen wesentlich umfangreicher (d. h., sie speichern mehr Information) als ihre Gegenstücke auf dem Papier; dass elektronische Tabellen Tausende oder sogar Millionen von Zellen enthalten, ist nicht ungewöhnlich. Tabellenkalkulationsprogramme ermöglichen es dem Benutzer auch, "Was-wäre-wenn"-Szenarios durchzuspielen. Nach der Eingabe eines Satzes rechnerischer Zusammenhänge in ein Arbeitsblatt kann die Informationsmenge mit unterschiedlichen Voraussetzungsblöcken neu berechnet werden. Dabei erscheinen die Ergebnisse einer Neuberechnung nahezu sofort. Das Ausführen dieses Vorgangs von Hand mit Papier und Bleistift würde das erneute Berechnen eines jeden Zusammenhangs im Modell bei jeder vorgenommenen Änderung erfordern. Elektronische Tabellenkalkulationssysteme wurden also erfunden, um "Was-wäre-wenn"-Probleme zu lösen, d. h., eine Eingangsgröße zu verändern und die Auswirkungen zu beobachten.
  • Bei jüngeren Implementierungen dieser Systeme sind "Auflöser" und "Optimierer" hinzugekommen. Dies fügt eine Zielsuchfunktionalität hinzu, mit der der Benutzer den "Waswäre-wenn"-Vorgang umkehren kann. Er kann nämlich den gewünschten Ausgabewert vorgeben, und das System bestimmt den geeigneten Eingabewert bzw. die Eingabewerte. In einer üblichen Umsetzung kann der Benutzer einen Sollwert in einer Zelle einstellen und dann sowohl mehrere Eingabevariable als auch mehrere Bedingungszellen festlegen. Der Optimierer findet alle Kombinationen der Eingabevariablen, die den Soll- Ausgabewert liefern, ohne die Nebenbedingungen zu verletzen. In der Regel zielt der Benutzer aber nicht auf einen besonderen Sollwert ab, sondern er setzt einen solchen Optimierer dafür ein, den Wert einer Ausgabezelle so klein oder so groß wie möglich zu machen.
  • Derartige Rückwärts-Auflöser und Optimierer bilden einen guten Einstieg zum Verbessern eines "Was-wäre-wenn"-Ablaufs. Derzeit sind die elektronischen Tabellenkalkulationssysteme jedoch noch nicht besonders dafür eingerichtet, eine Vielzahl "Was-wäre-wenn"-Szenarios zu verwalten, d. h. zahlreiche Veränderungen, die sich von einem Einzelmodell ableiten. Da ein gegebenes Tabellenkalkulationsmodell routinemäßig mit einem Satz Annahmen erzeugt wird (z. B. Verkaufszahlen, Unternehmensbesteuerung usw.), wünscht man, die Extremwerte seiner Annahmen zu untersuchen, um die wahrscheinlichsten Ergebnisse zu ermitteln. Benutzer benötigen normalerweise auch Untersuchungen des bestmöglichen bzw. schlechtestmöglichen Falls. Derzeit verfügbare Systeme stellen jedoch wenig oder gar keine Werkzeuge zum Erzeugen und Verwalten derart zahlreicher Szenarios bereit. Der Benutzer muss zum manuellen Erzeugen eigener Kopien des zugrunde liegenden Modells Zuflucht nehmen, und der Benutzer ist selbst für das Verfolgen sämtlicher Abwandlungen verantwortlich, die bei den verschiedenen Kopien erfolgt sind. Da dieses Vorgehen bestenfalls unangenehm ist, besteht ein großer Bedarf an besseren Lösungen.
  • Gemäß einem Merkmal der Erfindung wird ein System bereitgestellt, das automatisch verschiedene Versionen eines Datenmodells in einem elektronischen Modellbildungssystem verfolgt, mit dem man Information als Datenmodell modellieren kann, wobei das System elektronische Vorrichtungen umfasst, die zum Speichern eines Modells in Form einer Anzahl miteinander verknüpfter Informationsorte angeordnet sind, gekennzeichnet durch:
  • Vorrichtungen für das System, das die Änderungen verfolgt, mit denen man eine Grundmenge der Informationsorte festlegen kann, die als Grundlage für das Datenmodell dient;
  • Vorrichtungen, mit denen man eine neue Version des Datenmodells anlegen kann, indem man den Inhalt mindestens eines der Informationsorte in der Grundmenge verändert; und
  • eine Vergleichsvorrichtung, die erkennt, welche Informationsorte sich in der neuen Version gegenüber der Grundmenge geändert haben, indem sie die Inhalte der Orte in der neuen Version mit den entsprechenden Inhalten in der Grundmenge vergleicht.
  • Gemäß einem zweiten Merkmal der Erfindung wird ein Verfahren zum automatischen Verfolgen unterschiedlicher Versionen eines Datenmodells in einem elektronischen Modellbildungssystem bereitgestellt, mit dem man in ein Datenmodell eingegebene Information modellieren kann, wobei das Datenmodell eine Anzahl Informationsorte enthält, deren Wechselbeziehungen man mit dem Modellsystem definieren kann, gekennzeichnet durch:
  • a) das Festlegen einer Grundmenge an Informationsorten, die als Grundlage des Modells dienen, für das System, das die Änderungen verfolgt;
  • b) das Erzeugen einer neuen Version des Datenmodells durch das Abwandeln des Inhalts mindestens eines Informationsorts aus der festgelegten Grundmenge; und
  • c) das automatische Erkennen derjenigen Orte des Datenmodells, die sich verändert haben, durch den Inhaltsvergleich der Orte in der neuen Version mit den entsprechenden Orten in der Grundmenge.
  • Gemäß einer Ausführungsform des zweiten Merkmals der Erfindung wird ein Verfahren bereitgestellt, wobei der Schritt a) zudem umfasst:
  • das Beibehalten der Grundmenge als geordnete Information auf einer Speichervorrichtung; und der Schritt b) zudem umfasst:
  • für jede neue Version des Tabellenkalkulationsmodells:
  • i) das Bestimmen der Teile der neuen Version, die sich verglichen mit der Grundmenge geändert haben, und
  • ii) das Aufbewahren der neuen Version durch das Speichern zusätzlicher Information nur für diejenigen Teile, die als geändert erkannt wurden.
  • Gemäß einer Ausführungsform der Erfindung wird ein elektronisches Tabellenkalkulationssystem bereitgestellt, das eine bevorzugte Schnittstelle aufweist und Verfahren zum Erzeugen und Verfolgen zahlreicher Versionen oder "Szenarios" eines Datenmodells. Das System enthält Werkzeuge zum Festlegen eines "Fangbereichs", d. h. eines besonderen Satzes von Informationszellen, die zu verfolgen sind, und ein Szenario- Kennzeichnungswerkzeug, das automatisch Veränderungen beim Übergang von einem eingefangenen Ausgangs- oder Basismodell zu einem neuen Szenario erkennt. Es können Bildschirm- Rückmeldetechniken bereitgestellt werden, die "veränderte Zellen" und "Ergebniszellen" hervorheben, die das System erkannt hat.
  • In einem Beispiel für ein Verfahren gemäß diesem Merkmal der Erfindung legt der Benutzer zuerst einen Fangbereich fest (beispielsweise einen Ordner, eine Seite oder einen Block) und einen Ausgangszustand (d. h. den Grund- oder Standardfall, der als Bezug dient). Der Benutzer fährt nun damit fort, das Arbeitsblatt zu verändern, beispielsweise eine der verschiedenen Annahmen (z. B. den Steuersatz) abzuwandeln, die zum Erzeugen des Modells verwendet wurden. Nach Abschluss der vom Benutzer bezeichneten Änderungen findet das System sämtliche Unterschiede in Nicht-Formel-Zellen verglichen mit entsprechenden Zellen im Ausgangsmodell. Diese Zellen heißen "Veränderungszellen". Weiterhin erkennt das System sämtliche Formelzellen, die durch die Änderungen in den veränderten Zellen einen unterschiedlichen Wert liefern. Diese Zellen, die direkt oder indirekt von einer oder mehreren Veränderungszellen abhängen können, sind "Ergebniszellen". Nach dem Erfassen dieser veränderten Ergebniszellen kann sie das System dem Benutzer anschaulich darstellen (z. B. durch farbige Hervorhebung usw.).
  • Der Benutzer kann damit fortfahren, eine Anzahl derartiger Szenarios zu erzeugen, indem er einfach den beschriebenen Vorgang wiederholt. Der Benutzer gibt normalerweise jedem derart hinzugefügten Szenario einen beschreibenden Namen. Zur Vereinfachung bietet das System dem Benutzer die Möglichkeit, verschiedene Gruppen von Szenarios zu erzeugen. Jeder Gruppe kann der Benutzer - wie bei jedem Szenario - einen einprägsamen Beschreibungsnamen geben. Einzelne Szenarios können auf Wunsch einer oder mehreren Gruppen zugefügt oder aus ihnen gelöscht werden. Nach dem Erzeugen gewünschter Szenarios kann der Benutzer das System anweisen, diese neuen Versionen zusammen mit dem Ausgangsmodell auf einer Speichervorrichtung zu speichern. In einer bevorzugten Ausführungsform werden die neuen Versionen zusammen mit dem Grundmodell gespeichert, wobei redundante Information zwischen dem Grundmodell und einer besonderen Version nicht dupliziert wird. Ein bevorzugtes Verfahren der Erfindung zur "Versionsbildung" (d. h. dem Verfolgen und Speichern verschiedener Versionen eines Grundmodells) verwendet Differenz- oder Deltaaufzeichnungen zum Speichern der verschiedenen Änderungen, die bei jeder neuen Version auftreten.
  • Die Erfindung wird nunmehr zur besseren Darstellung und um zu zeigen, wie sie ausgeführt werden kann, beispielhaft mit Bezug auf die anliegenden Zeichnungen beschrieben. Es zeigt:
  • Fig. 1A ein Blockdiagramm eines Computersystems, auf dem die Erfindung umgesetzt werden kann;
  • Fig. 1B ein Blockdiagramm eines Programmsystems einer Ausführungsform, die ein Betriebssystem, Anwendungsprogramme und Benutzerschnittstellenkomponenten enthält;
  • Fig. 1C eine Bildschirmkopie mit der grundlegenden Architektur und Funktionalität einer grafischen Benutzeroberfläche, in der man die Erfindung ausführen kann;
  • Fig. 2A eine Bildschirmkopie einer Tabellenkalkulations- Ordnerschnittstelle, die in einer bevorzugten Ausführungsform verwendet wird;
  • Fig. 2B eine Bitmap einer Werkzeugleisten-Komponente der Schnittstelle in Fig. 2A;
  • Fig. 2C-D Bitmaps, die Seitenkennzeichner für den raschen Zugriff auf einzelne Seiten und deren Veränderung in der Ordnerschnittstelle von Fig. 2A darstellen;
  • Fig. 3A eine Bildschirmkopie, die eine Szenarioverwaltungs-Schnittstelle abbildet;
  • Fig. 3B eine Bitmap einer Werkzeugleisten-Komponente der Schnittstelle in Fig. 3A;
  • Fig. 4A-D Bildschirmkopien, die das Erzeugen anderer Versionen oder Szenarios des Tabellenkalkulationsmodells in Fig. 3A erläutern;
  • Fig. 4E eine Bildschirmkopie eines Szenario-Abschlussberichts, den das System in Fig. 1B liefert;
  • Fig. 4F eine Bildschirmkopie einer Version von Fig. 4D, bei der die Zellenhervorhebung ausgewählt abgeschaltet ist;
  • Fig. 5A ein Flussdiagramm für Szenarioverwaltungsverfahren; und
  • Fig. 5B ein Blockdiagramm, das ein bevorzugtes Verfahren zum Beibehalten (Verfolgen und Speichern) von Zelleninformation für neue Versionen oder Szenarios darstellt.
  • Hardwareausstatung des Systems
  • Eine bevorzugte Ausführungsform der Erfindung, siehe Fig. 1A, kann auf einem Computersystem ausgeführt werden, beispielsweise dem System 100, das eine Zentraleinheit 101, einen Hauptspeicher 102, einen Eingabe/Ausgabe-Controller 103, eine Tastatur 104, eine Zeigevorrichtung 105 (z. B. eine Maus, eine Rollkugel, einen Zeigestift usw.), eine Darstellungsvorrichtung 106 und einen Massenspeicher 107 (z. B. eine Festplatte) umfasst. Auf Wunsch kann man zusätzliche Ein/Ausgabegeräte, z. B. eine Druckervorrichtung 108, in das System 100 aufnehmen. Die verschiedenen Komponenten des Systems 100 kommunizieren wie dargestellt über ein Bussystem 110 oder eine ähnliche Architektur. In einer bevorzugten Ausführungsform enthält das Computersystem 100 einen IBMkompatiblen Personalcomputer, der bei mehreren Firmen erhältlich ist (einschließlich IBM in Armonk, NY).
  • Es ist ein Computerprogrammsystem 150 bereitgestellt, siehe Fig. 1B, das den Betrieb des Computersystems 100 steuert. Das Programmsystem 150, das im Systemspeicher 102 und auf dem Plattenspeicher 107 gespeichert ist, enthält einen Kern oder ein Betriebssystem 151 und eine Shell bzw. Schnittstelle oder Oberfläche 153. Man kann eines oder mehrere Anwendungsprogramme, beispielsweise das Anwendungsprogramm 152, "laden" (d. h. vom Speicher 107 in den Speicher 102 übertragen), damit es vom System 100 ausgeführt wird. Das System 100 empfängt Befehle des Benutzers und Daten über die Benutzerschnittstelle 153. Diese Eingaben verarbeitet das System 100 gemäß den Anweisungen aus dem Betriebsmodul 151 und/oder Anwendungsmodul 152. Die Schnittstelle 153, die bevorzugt eine grafische Benutzeroberfläche (GUI, GUI = Graphical User Interface) ist, dient auch zum Darstellen von Ergebnissen. Daraufhin kann der Benutzer zusätzliche Eingabewerte zuführen oder die Sitzung beenden. In einer bevorzugten Ausführungsform ist das Betriebssystem 151 MS-DOS, und die Schnittstelle 153 ist Microsoft Windows; beide erhältlich von der Microsoft Corporation in Redmond, Washington. Das Anwendungsmodul 152 dagegen umfasst ein Tabellenkalkulationsordner der Ausführungsform (im Weiteren ausführlich beschrieben).
  • Schnittstelle: A. Einführung
  • Die folgende Beschreibung befasst sich hauptsächlich mit den derzeit bevorzugten Ausführungsformen der Erfindung, die in Tabellenkalkulationsanwendungen ausgeführt sind, die in der Microsoft-Windows-Umgebung laufen. Die Erfindung ist jedoch nicht auf irgendeine besondere Anwendung oder irgendeine besondere Umgebung eingeschränkt. Fachleuten ist klar, dass man das System und die Verfahren der Erfindung vorteilhaft bei zahlreichen System- und Anwendungsprogrammen einsetzen kann; genannt seien Mensch-Maschine-Schnittstellen in zahlreichen Gebieten einschließlich Datenbank-Verwaltungssystemen, Textverarbeitungen usw. Zudem kann man die Erfindung auf zahlreichen verschiedenen Plattformen umsetzen, beispielsweise Macintosh, UNIX, NextStep usw. Die folgende Beschreibung beispielhafter Ausführungsformen dient der Erläuterung und schränkt den Bereich der Erfindung nicht ein.
  • Das System 100, siehe Fig. 1C, enthält eine Fensterschnittstelle bzw. einen Arbeitsbereich 160. Das Fenster 160 ist eine rechteckige, grafische Benutzeroberfläche (GUI), die auf dem Bildschirm 106 dargestellt ist. Zusätzliche Fensterelemente können in verschiedenen Größen und Formaten (z. B. hintereinander oder gruppiert) wie gewünscht dargestellt werden. Oben im Fenster 160 befindet sich eine Menüleiste 170, aus der man eine Anzahl Benutzerkommandos wählen kann. Jeder Befehl kann zusätzliche Untermenüs und Programmwerkzeuge zum Gebrauch mit den Anwendungsobjekten aufrufen. Das Fenster 160 enthält einen Anwenderbereich 180 zum Darstellen und Verändern der Bildschirmobjekte, beispielsweise des grafischen Objekts 181 und des Textobjekts 182. Im Wesentlichen ist der Anwenderbereich ein Arbeitsbereich oder Sichtfenster, in dem der Benutzer mit den Datenobjekten interagieren kann, die sich im Computersystem 100 befinden.
  • Die Fensterschnittstelle 160 enthält einen Bildschirmcursor oder eine Zeigemarke 185, mit der man interessierende Bildschirmobjekte auswählen oder sonstwie aufrufen kann. Abhängig von den Benutzerbewegungssignalen aus der Zeigeeinrichtung 105, schwebt der Cursor 185 (d. h. er bewegt sich ungehindert) über den Bildschirm 106 an einen gewünschten Bildschirmort. Während oder nach der Cursorbewegung kann der Benutzer Benutzerereignissignale erzeugen (z. B. Maustasten- "Klicks" und "Drags" (das Ziehen von Objekten)) und damit auf bekannte Weise Objekte auswählen und verändern. Das Fenster 160 kann män beispielsweise schließen, in der Größe verändern oder Rollen, indem man die Bildschirmkomponenten 172, 174/5 bzw. 177/8 "anklickt" (auswählt).
  • In einer bevorzugten Ausführungsform wird der Bildschirmcursor 185 mit einer Mausvorrichtung gesteuert. Einzeltasten-, Doppeltasten- und Dreitasten-Mausvorrichtungen sind von einer Anzahl Firmen erhältlich, beispielsweise von Apple Computer in Cupertino, CA, Microsoft Corporation in Redmont, WA und Logitech Corporation in Freemont, CA. Die Bildschirmcursor- Steuervorrichtung 105 ist besonders bevorzugt eine Doppeltasten-Mausvorrichtung mit einer linken und einer rechten "Maustaste".
  • Programmiertechniken und Betriebsweisen für Mausvorrichtungen sind in der Programmier- und Hardwareliteratur gut dokumentiert, siehe z. B. Microsoft Mouse Programrner's Reference, Microsoft Press, 1989. Der allgemeine Aufbau und die Wirkungsweise eines ereignisgesteuerten GUI-Systems, beispielsweise Windows, ist ebenfalls bekannt; siehe z. B. Petzold, C., Programming Windows, Second Edition, Microsoft Press, 1990.
  • B. Bevorzugte Schnittstelle
  • Anhand von Fig. 2A wird nun ein Tabellenkalkulationsordner bzw. eine Arbeitsbuch-Schnittstelle dieser Ausführungsform beschrieben. Der Tabellenkalkulationsordner oder das Arbeitsbuch enthält einen Ordner-Arbeitsbereich 200, der Information aufnimmt, verarbeitet und darstellt, und zwar sowohl alphanumerische als auch grafische Information. Der Ordner-Arbeitsbereich 200 enthält eine Menüleiste 210, eine Werkzeugleiste 220, eine Anzeige der aktuellen Zelle 230, eine Eingabezeile 231, eine Statuszeile 240 und ein Ordnerfenster 250. Die Menüleiste 210 stellt abhängig von Benutzereingaben die oberste Ebene der Benutzerbefehle dar bzw. ruft sie auf. Das Menü 210 ruft, wie bei Windows- Anwendungen bekannt, auch zusätzliche Pulldownmenüs (Balkenmenüs) auf. Die Eingabezeile 231 nimmt Benutzerbefehle und Informationen an, die der Eingabe und dem Verändern von Zelleninhalten dienen, und kann Daten, Formeln, Macros usw. umfassen. Die Anzeige 230 stellt die Adresse der momentanen Cursorposition dar (d. h. die aktive Zelle). In der Statuszeile 240 stellt das System 100 Information zum momentanen Status des Arbeitsbuchs dar; beispielsweise bedeutet eine "READY"-Anzeige, dass das System dafür bereit ist, dass der Benutzer eine weitere auszuführende Aufgabe auswählt.
  • Die in Fig. 2B ausführlicher dargestellte Werkzeugleiste 220 umfasst eine Zeile oder Palette von Werkzeugen, die es dem Benutzer rasch ermöglichen, häufig verwendete Menübefehle oder Eigenschaften auszuwählen. In einer beispielhaften Ausführungsform enthält die Werkzeugleiste 220 Ausschneide-, Kopier- und Einfügeknöpfe 221, ein Powerbutton-Werkzeug 222, ein grafisches Werkzeug 223, Ausrichtknöpfe 224, Zeichensatzknöpfe 225, eine Schriftattributliste 226 mit einem Pulldownmenü 227, Einfüge-, Lösch- und Einpassknöpfe 228 und Aktionsknöpfe 229 (z. B. Sortieren, Summieren usw.). Die Funktionen dieser Knöpfe erklären sich durch ihre Namen selbst. Die Knöpfe 221 schneiden beispielsweise Daten und Objekte aus und legen sie in der Windows-Zwischenablage ab bzw. kopieren Daten und Objekte in die Windows-Zwischenablage bzw. fügen den Inhalt der Zwischenablage ein. Die gleichen Vorgänge sind auch als entsprechende Befehle im Edit-Menü verfügbar (Zugriff über die Menüleiste 210). Das Werkzeug 220 erzeugt "Powerbuttons", die es einem Benutzer ermöglichen, Tabellenkalkulationsmacros ablaufen zu lassen. In einer besonderen Ausführungsform erscheinen die Powerbuttons als schwebende Objekte in einer Schicht über den Tabellenkalkulationszellen. In vergleichbarer Weise erzeugt das Grafikwerkzeug 223 schwebende Grafiken, die über den Tabellenkalkulationszellen erscheinen.
  • Der Ordner, der eine Schnittstelle zum Eingeben und Darstellen von interessierender Information bietet, enthält eine Anzahl Tabellenkalkulationsseiten. Jede Seite kann herkömmliche Windows-Merkmale und Abläufe enthalten, beispielsweise Bewegen, Verändern der Größe und Löschen. In einer bevorzugten Ausführungsform enthält der Ordner 256 Tabellenkalkulationsseiten und eine Grafikseite, die alle gemeinsam als einzige Plattendatei auf dem Massenspeicher 107 gesichert werden. Der Arbeitsbereich 200 kann ein oder mehrere Ordner anzeigen, die nach benutzerspezifischen Vorgaben in der Größe verändert und angeordnet (z. B. gruppiert, überlappend angeordnet usw.) werden.
  • Jede Tabellenkalkulationsseite des Ordners enthält eine 2-D-Tabelle. Die Seite A des Ordners 200 enthält beispielsweise ein Gitter in Form von Zeilen und Spalten, etwa Zeile 3 und Spalte F. Am Schnittpunkt einer jeden Zeile und Spalte ist ein Kasten bzw. eine Zelle bereitgestellt, in der Information in herkömmlicher Weise eingegeben, verarbeitet und dargestellt wird. Jede Zelle ist ansprechbar, und es ist ein Bezeichner bereitgestellt, der eine derzeit aktive Zelle bezeichnet (d. h. die gerade ausgewählte Zelle).
  • Einzelne Ordnerseiten sind mit Seitenkennungen 260 bezeichnet, siehe Fig. 2C-D, und zwar bevorzugt entlang einer Kante eines Ordners. In einer bevorzugten Ausführungsform hat jede Seitenkennung die Form einer Markierungslasche (beispielsweise die Teile 261a, 262a und 263a), die entlang der Unterkante des Ordners angeordnet ist. Jede Markierungslasche kann eine typische Kennung enthalten, beispielsweise eine Text- oder Grafikkennzeichnung, die auch ein vom Benutzer gewählter Titel sein kann und den Inhalt der zugehörigen Seite beschreibt. In Fig. 2C sind die Markierungslaschen 260 auf ihre zugehörigen Voreinstellungsnamen gesetzt. Die ersten drei Markierungslaschen (die Laschen 261a, 262a und 263a) sind jeweils auf A, B und C gesetzt. Die Markierungslaschen erhalten jedoch in der Regel vom Benutzer gewählte beschreibende Namen. Die ersten drei Markierungslaschen, siehe Fig. 2D, sind nun auf "Contents", (Markierungslasche 261b), "Summary" (Markierungslasche 262b) und "Jan" (Markierungslasche 263b) gesetzt. In ähnlicher Weise sind die verbleibenden Laschen auf die folgenden Monate des Jahres gesetzt. Auf diese Weise verbindet der Benutzer die Seitenkennungen mit den vertrauten Laschen eines gewöhnlichen Ordners aus Papier. Damit weiß der Benutzer bereits, wie er eine interessierende Seite oder Tabelle wählen kann; er wählt einfach die Lasche, die zur Seite gehört (so wie man eine Seite in einem Ordner aus Papier wählen würde).
  • Die benutzerkonfigurierbaren Seitenkennungen unterstützen nicht nur die Auswahl der passenden Informationsseite, sondern sie helfen auch beim Eingeben von Tabellenformeln. Gibt man beispielsweise eine Formel ein, die sich auf Zellen in einer anderen Seite beziehen, so kann der Benutzer einfach den beschreibenden Seitennamen in der Formel selbst verwenden (im Weiteren beschrieben). Damit kann der Benutzer den Zusammenhang der angesprochenen Zelle(n) oder Information besser verstehen.
  • Eine allgemeine Beschreibung der Leistungsmerkmale und Betriebsweise der Tabellenkalkulations-Ordnerschnittstelle findet man in Quattro' Pro for Windows (Getting Started, User's Guide and Building Spreadsheet Applications), erhältlich bei Borland International; eine zusätzliche Beschreibung findet man in EP-A-0569133.
  • Modellanalyse: Szenarioverwaltung A. Einleitung
  • Da zukünftige Abläufe für kein Unternehmen vollständig gewiss sind, ist es hilfreich, wechselnde Verknüpfungen unbekannter Werte nebeneinander oder in benachbarten Tabellen darzustellen, damit man den Bereich möglicher Ergebnisse mit einem Blick übersehen kann. Besonders interessant in der Erfindung ist das Problem der Szenariomodellierung, d. h. das Verwalten des "bestmöglichen" und des "schlechtestmöglichen" "Was-wäre-wenn"-Falls. Szenarios sind eine Form der Modelluntersuchung, bei der ein Benutzer verschiedene Modelle erzeugen kann, indem er Daten in einem Grundmodell verändert und beobachtet, wie diese Veränderungen die darauf beruhenden Formeln beeinflussen.
  • Einen Ansatz hierzu bietet der Szenariomanager, der MicrosoftTM Excel beigegeben ist. Excel erlaubt es dem Benutzer, eine besondere Menge von "unsicheren" Zellen in einem Modell zu bezeichnen und anschließend jeder unsicheren Zelle Wertekombinationen zuzuweisen. Jede Wertekombination wird zu einem besonderen Szenario. Der Benutzer weist nun den Manager an, welche Ergebnisse er haben will. Das System erstellt dann eine Tabelle, die den Einfluss eines jeden benannten Szenarios auf jede bezeichnete Ausgabezelle darstellt.
  • Das System 100 enthält eine Anzahl Werkzeuge, die Vorschläge machen oder abhängig von den benutzerdefinierten Modellen Ergebnisse optimieren. Das System enthält beispielsweise ein "Modellkopier"-Merkmal (beschrieben in EP-A-0 569 133), das die Aufgabe vereinfacht, einen Zusammenhang von Formeln auf zahlreichen Seiten des Ordners wiederzugeben. Normalerweise werden beim Kopieren von Formeln von einer Seite auf eine andere Seite relative Bezüge aktualisiert; absolute Bezüge bleiben unverändert. Beim Modellkopieren werden die absoluten Bezüge auf Zellen auf der momentanen Seite auf die Zielseiten aktualisiert. Kopiert man beispielsweise mit "Modellkopieren" die Formel "BestCase: A1" von einer Seite mit dem Namen "BestCase" auf eine Seite mit dem Namen "WorstCase", so erhält man am neuen Ort die Formel "WorstCase: A1".
  • Somit kann ein Benutzer mit der Option "Modellkopieren" (Block 1 Copy) Modelle an verschiedene Stellen in einem Ordner kopieren, ohne dass die Formelbezüge beeinträchtigt werden. Anschließend kann der Benutzer die Werte in jeder Kopie verändern und neue Szenarios erzeugen. Das Verfahren der Szenarioverwaltung eignet sich dann am besten, wenn man einen Satz Szenarios für die weitergehende Untersuchung (z. B. Auflöser-Werkzeuge) erstellen will. Man kann jedes Szenario auf eine eigene Seite legen, die mit einem eindeutigen Namen bezeichnet wird. Anschließend führt man verschiedene Untersuchungen aus und druckt die Ergebnisse, wenn dies erwünscht ist.
  • B. Szenariomanager
  • Im Gegensatz zu den beschriebenen manuellen Werkzeugen bietet diese Ausführungsform einen leistungsfähigeren interaktiven Ansatz für die Szenariountersuchung, der hier Szenariomanager genannt wird. Der Manager verfolgt Wertänderungen automatisch, wenn man neue Datensätze eingibt, und verfügt zusätzlich über eine Fähigkeit, die es einem Benutzer zu jeder Zeit erlaubt, Szenarioveränderungen zu benennen und in Berichtsform abzuspeichern.
  • Im allgemeinen Betrieb entscheidet der Benutzer, welche Teile des Ordners (z. B. einen Block, eine Seite oder ein gesamter Ordner) er in seine Szenarios aufnehmen will.
  • Innerhalb dieses "Fangbereichs" entscheidet der Benutzer, welche Information bei jedem gewünschten Szenario zu verändern ist (d. h., er legt "Veränderungszellen" fest). Dies kann dem System implizit oder explizit angezeigt werden. Im ersten Fall verändert der Benutzer einfach Werte im eingeschlossenen Bereich bzw. Fangbereich, und der Szenariomanager verfolgt automatisch all diese Änderungen. Im zweiten Fall kennzeichnet der Benutzer explizit gewisse Zellen als Veränderungszellen. Zusätzlich zu Veränderungszellen gibt es "Ergebniszellen", d. h. Zellen, die von Änderungen in den Veränderungszelle betroffen sind. Das System findet diese Ergebniszellen automatisch, indem es unter den Formelzellen diejenige(n) Zelle(n) bestimmt, die einen Wert liefern, der sich von den entsprechenden Zellen im Ausgangsszenario unterscheidet. Eine Formelzelle kann sich durch direkten oder indirekten Bezug auf eine Veränderungszelle verändern. Damit muss eine Ergebniszelle nicht in dem Sinn von einer Veränderungszelle "abhängen", wie dieser Begriff normalerweise in der Tabellenkalkulationssprache verwendet wird. Da Veränderungszellen und Ergebniszellen in der Regel Information liefern (z. B. Werte), die den Benutzer unmittelbar interessiert, werden sie nach der Erkennung hervorgehoben.
  • 2. Werkzeuge
  • Die folgenden Konzepte werden anhand von Fig. 3A und 3B erläutert. Fig. 3A zeigt einen Tabellenkalkulationsordner 300, dessen erste Seite (Seite A) 310 dargestellt ist. Die Seite oder Tabelle 310 enthält ein hypothetisches Modell für die monatlichen Verkäufe einer Getränkefirma. Nach dem Aufruf eines Szenariomanagerbefehls (Tools 1 Scenario Manager aus dem Hauptmenü) zeigt das System eine Szenariomanager-Werkzeug leiste 320 an, die bevorzugte Werkzeuge der momentanen Ausführungsform enthält, mit denen man Szenarios verwalten kann. Die Werkzeuge werden nacheinander vorgestellt.
  • Den Szenariofangknopf 321 (Fig. 3B) kann man als Kamera betrachten, die eine Momentaufnahme der aktuellen Daten aufnimmt. Die Szenario-Namenslistenbox 322 listet alle verfügbaren Szenarios auf (die eingefangen worden sind). Der Szenariolöschknopf 323 ermöglicht es, ein Szenario aus der aktuellen Liste der aktiven Szenarios (die in der Listenbox 322 dargestellt ist) zu entfernen. Der Szenarioidentifizierungsknopf 324 fängt die aktuellen Szenariodaten ein. Durch das Anklicken des Szenario-Hinzufügeknopfs 321 kann man dieser Momentaufnahme einen besonderen Szenarionamen zuweisen. Der Veränderungszellenknopf 325 dient dem Aufnehmen ausgewählter "Veränderungszellen" in das Szenario. Diese Veränderungszellen werden ihrerseits in die Szenarioseite (im Folgenden beschriebener Bericht) aufgenommen. Der Veränderungszellen-Löschknopf 326 entfernt ausgewählte Veränderungszellen aus dem Szenario. Diese werden ihrerseits aus der Szenarioseite gelöscht. Der Szenariozellen-Hervorhebungsknopf 327 schaltet die Hervorhebung von Veränderungs- und Ergebniszellen ein bzw. aus. Gemäß der Voreinstellung erscheinen Veränderungszellen gelb und Ergebniszellen grün. Der Berichtsknopf 328 zeigt eine "Szenarioseite", die einen zusammenfassenden Szenariobericht liefert. Der Knopf dient als Umschalter. Der Benutzer kann nochmals auf den Knopf klicken, um zur Seite zurückzukehren, auf der er arbeitet. Der Szenariogruppenknopf 329 gestattet es dem Benutzer, eine Szenariomenge in Untergruppen oder Untermengen einzuteilen, wobei jede Untergruppe ein spezielleres Szenario darstellt, das modelliert wird. Die Szenariokategorie-Listenbox 330 listet die verfügbaren Szenariogruppen oder Szenariokategorien auf (die mit dem Szenariogruppenknopf 329 erstellt wurden). Zum Schließen der Szenario-Werkzeugleiste klickt der Benutzer auf einen Steuerknopf (in Fig. 3A durch X dargestellt).
  • 3. Szenariomanagementsitzung
  • Im Allgemeinen erfolgt die Szenarioverwaltung durch die Anwendung der Szenariomanager-Werkzeuge, mit denen verschiedene Versionen oder Szenarios erzeugt und dargestellt werden. Nach dem Erzeugen eines gewünschten Szenarios kann der Benutzer das System anweisen, zusammenfassende Berichte zu erstellen. Anhand von Fig. 4A-F wird nun eine Beispielsitzung ausführlich beschrieben.
  • (a) Fangbereich
  • In Fig. 4A hat der Benutzer den Manager (Tools i Scenario Manager) für die Tabelle 310 (aus Fig. 3A) aufgerufen. Es wird die Szenariomanager-Werkzeugleiste 320 dargestellt. Der Benutzer legt nun einen "Fangbereich" fest, indem er den Gruppenknopf 329 drückt. Der Fangbereich definiert eine Menge an Informationszellen, in denen der Szenariomanager alle Veränderungen verfolgt (einschließlich des Bestimmens der Veränderungszellen und Ergebniszellen). Der Benutzer kann beispielsweise durch die Dialoge 405 und 410 festlegen, dass der Fangbereich auf "Seite" eingestellt wird, d. h., dass alle Veränderungen in der aktiven Seite (A) verfolgt werden. Da sich der Seitenfangbereich für die meisten Fälle eignet, ist er der voreingestellte Fangbereich in der bevorzugten Ausführungsform. Wahlweise kann der Benutzer den Fangbereich "Ordner" wählen, so dass Veränderungen innerhalb eines gesamten Ordners verfolgt werden, oder den Fangbereich "Block", bei dem Veränderungen in einem festgelegten Block verfolgt werden. Den Fangbereich sollte man bevorzugt nur dann auf "Ordner" setzen, wenn man Veränderungs- und Ergebniszellen über mehrere Seiten verfolgen will und nicht beabsichtigt, den Ordner für andere Zwecke als das Speichern von verwandten Szenarios zu verwenden. Beim Fangbereich "Block" kann derfestgelegte Block zusammenhängend oder nicht zusammenhängend, ein 2-D-Block oder ein 3-D-Block sein. "Block" ist häufig die beste Fangbereichseinstellung für Szenarios, die auf vorhandenen Daten beruhen. Gibt ein Benutzer neue Daten und Formeln für das Szenario ein, so ist normalerweise "Seite" am besten geeignet.
  • (b) Szenario-Ausgangszustand
  • Der Szenariomanager verfolgt Veränderungen gegen einen Ausgangszustand bzw. eine Grundversion. Das Basismodell, das als Bezug dient, mit dem verschiedene Szenarios verglichen werden, ist in der Regel das normale (unveränderte) Tabellenkalkulationsmodell. Bevor dem Basismodell verschiedene Korrekturen, Annahmen usw. zugefügt werden, weist der Benutzer das System einfach an, den Ausgangszustand einzufangen. Arbeitet dagegen ein Benutzer mit einem leeren Ordner, so kann er vor dem Festlegen des Ausgangszustands beliebige Marken und Formeln eingeben.
  • Zum Festlegen des Ausgangszustands fängt der Benutzer das Basismodell durch das Betätigen des Szenariofangknopfs 321 ein. Man kann den Knopf als eine Kamera betrachten, die eine Momentaufnahme der aktuellen Modelldaten erstellt. Eine beispielhafte Ausführungsform antwortet mit der Darstellung einer Szenariofang-Dialogbox, in der der Benutzer das eingefangene Szenario benennen kann. Für die erste eingefangene Version ist der Basismodellname < Base Case> voreingestellt. Der Benutzer kann irgendeinen gewünschten Namen in das Szenarioname-Editierfeld eingeben. Ab diesem Augenblick verfolgt das System alle Veränderungen im Fangbereich.
  • (c) Kennzeichnung der Szenariozellen
  • Nachdem der Benutzer den Ausgangszustand festgelegt hat, fährt er mit der Kennzeichnung von Veränderungszellen fort, entweder implizit (automatisch) oder explizit (von Hand). Für die automatische Kennzeichnung gibt der Benutzer einfach neue Werte in die Zelle (n) ein, von der bzw. denen er wünscht, dass sie Veränderungszellen werden. Der Benutzer kann einfach festlegen, dass beispielsweise die Zelle B3 die Veränderungszelle für die Tabelle 310 ist, indem er den Wert dieser Zelle verändert (z. B. von $1,000 auf $2,000), siehe Fig. 4B.
  • Nach dem Drücken des Szenarioidentifizierungsknopfs 324 erkennt das System das aktuelle Szenario; d. h., es vergleicht die Daten des momentanen Falls mit den Daten der Basisversion. Sämtliche Zellen, die sich aufgrund der Benutzereingaben ändern, werden automatisch erkannt. Insbesondere werden Wertunterschiede für Nicht-Formel-Zellen erkannt und diese als Veränderungszellen markiert. Dies erfolgt durch den Vergleich jeder Nicht-Formel-Zelle mit ihrer entsprechenden Zelle im Grundmodell. Zudem werden sämtliche Zellen, die sich durch Neuerungen in Veränderungszellen gewandelt haben, erkannt und als Ergebniszellen markiert. Dies erfolgt dadurch, dass diejenigen Formelzellen bestimmt werden, die aufgrund der Änderungen in den Veränderungszellen oder der Veränderungszelle einen neuen Wert liefern, d. h. diejenigen Zellen, die direkt oder indirekt (z. B. über Formeln) von den Veränderungszellen (der Veränderungszelle) abhängen.
  • Wahlweise kann der Benutzer Veränderungszellen von Hand kennzeichnen. In einer beispielhaften Ausführungsform wählt der Benutzer eine oder mehrere Zellen, von denen er wünscht, dass sie Veränderungszellen werden, und betätigt den Veränderungszellen-Hinzufügeknopf 321. Anschließend gibt der Benutzer irgendwelche gewünschten Werte in die bezeichneten Zellen ein. Die Ergebniszellen werden automatisch ermittelt.
  • Die Veränderungszellen und die Ergebniszellen werden dem Benutzer besonders angezeigt, siehe Fig. 4B, beispielsweise durch eine farbige Hervorhebung oder eine andere Rückmeldung. Beim momentanen Beispiel wird die Veränderungszelle B3 mit einer Veränderungshervorhebung 421 hervorgehoben. Die Ergebniszellen B6, H3 und H6 werden jeweils mit den Ergebnishervorhebungen 423, 425 und 427 hervorgehoben. Als Voreinstellung sind bei Farbmonitoren die Veränderungszellen gelb unterlegt und die Ergebniszellen grün. Der Benutzer kann dafür auch eigene Farben wählen. Durch die Auswahl des Hervorhebungs-Umschaltknopfs 327 kann der Benutzer das System anweisen, die Zellenhervorhebung wie gewünscht ein- und auszuschalten. Der Benutzer mag auch wünschen, sich auf weniger Veränderungszellen zu konzentrieren, als das System unterlegt hat, also beispielsweise unerwünschte Zellen auszuschließen (d. h. von einer unerwünschten Hervorhebung). Er erreicht dies durch die Auswahl der Zellen und das Betätigen des Veränderungszellen-Löschknopfs 326.
  • Der Benutzer kann die momentane Version interaktiv bearbeiten, bis ein gewünschtes Szenario erreicht ist. Ist der Benutzer mit den Szenariozellen und Werten zufrieden, so drückt er den Szenariofangknopf 321, um die aktuelle Version als neues Szenario einzufangen. Der Benutzer gibt dem neuen Szenario im Szenarionamen-Editierfeld einen aussagekräftigen Namen. Im vorliegenden Beispiel stellen die Verkäufe von Jump Start mit $2, 000 im Januar (d. h. 25 Prozent Zunahme gegen den Ausgangszustand) das "bestmögliche" Szenario dar. Daher wird diese Version passenderweise mit "Best" 429 bezeichnet. Nach der Bestätigung (z. B. der Auswahl OK) durch den Benutzer wird das aktuelle Szenario in die aktive Gruppe aufgenommen. Speichert ein Benutzer ein Szenario, so werden die neuen Werte und die Hinterlegung der Zellen gemeinsam gespeichert (im Weiteren ausführlich beschrieben). Der Benutzer kann nun fortfahren, einer gewünschten Gruppe auf diese Weise Szenarios zuzufügen oder sie daraus zu löschen, bis er das erwünschte Szenariomodell erzielt hat.
  • Anhand von Fig. 4C-F wird das Erzeugen und Einfangen zusätzlicher Szenarios für das gegebene Beispiel beschrieben. In Fig. 4C hat der Benutzer den Wert der Zelle B3 (von seinem Ausgangswert von 1500) auf 500 geändert. Dies stellt das schlechtestmögliche Szenario des Benutzers dar (d. h. für die Verkäufe des Getränks Jump Start im Monat Januar). Der Benutzer betätigt den Szenarioidentifizierungsknopf 324 und kennzeichnet diesen schlechtesten Fall. Beim Betätigen des Szenarioidentifizierungsknopfs führt das System die bereits beschriebene Bestimmung der Veränderungs- und Ergebniszellen durch. Die Veränderung der Januarzelle für Jump Start auf fünfhundert Dollar, die beispielsweise die Tabellenkalkulationsseite 310C darstellt, bewirkt, dass das System (automatisch) die Zelle B3 als Veränderungszelle erkennt. Sie wird mit der Veränderungshervorhebung 431 hervorgehoben. In ähnlicher Weise werden die Zellen B6, H3 und H6 als Ergebniszellen erkannt und dem Benutzer mit den Ergebnishervorhebungen 433, 435 und 437 angezeigt. Ist der Benutzer mit diesem neuen Szenario zufrieden, so kann er damit fortfahren, es der aktuellen Gruppe zuzufügen (es einzufangen), beispielsweise mit dem bezeichnenden Titel "Worst" 439.
  • Die Veränderungen in den Fig. 4B und C (310b, 310c) sind zur Vereinfachung auf einen einzigen Zellensatz beschränkt. Die Szenarios für die Tabellenkalkulation 310 sind jedoch in keiner Weise auf einen gewissen Zellensatz eingeschränkt. Der Benutzer kann beispielsweise den Wert 1, 750 in die Zelle B3 eingeben, siehe Fig. 4D, und damit ein weiteres Szenario erzeugen, das der Benutzer Thin Fizz 1 nennt (bezeichnet mit dem Titel 449). Wird das System angewiesen, das Szenario zu kennzeichnen, so wird die Zelle B4 als Veränderungszelle erkannt (man erinnere sich, dass der Januar-Ausgangswert für Thin Fizz 900 betragen hat). Die Zelle wird mit der Veränderungshervorhebung 441 hervorgehoben. Das System erkennt die Zellen B6, H4 und H6 automatisch als Ergebniszellen, d. h. als Zellen, die direkt oder indirekt von der Zelle B4 abhängen. Diese Zellen werden jeweils mit der Ergebnishervorhebung 443, 445 bzw. 447 hervorgehoben.
  • Durch die Auswahl des Berichtsknopfs 328 (über die Manager-Werkzeugleiste 320) kann der Benutzer automatisch einen Bericht erzeugen, der die Szenarios zusammenfasst, die das momentane Szenariomodell beschreiben. Die erwähnten Szenarios werden in einem zusammenfassenden Szenariobericht 350 zusammengefasst, siehe z. B. Fig. 4E. Der Bericht zeigt beispielsweise, dass die Veränderungszelle für das "beste" Szenario A : B3 ist, die einen neuen Wert von 2000 erhält. Die Ergebniszellen für das beste Szenario werden wie folgt dargestellt: A : B6 erhält einen neuen Wert von 3,650; A : H3 erhält einen neuen Wert von 16,164; und A : H6 erhält einen neuen Wert von 29,109. Die entsprechenden Veränderungs- und Ergebniszellenwerte für den "Worst"-Fall und das Szenario Thin Fizz 1 werden wie dargestellt berichtet. Gemäß der Voreinstellung erscheint der zusammenfassende Szenariobericht auf der ersten freien Seite im Ordner und erlaubt damit dem Benutzer einen sofortigen Zugriff auf einen Bericht, der jedes im Modell enthaltene Szenario bzw. jede Version vollständig beschreibt. Um den Bericht an einen anderen Ort zu leiten, setzt der Benutzer die "Finde-leere-Seite"-Option außer Kraft und gibt einen Bestimmungsort an (Seite oder Block).
  • Im obigen Szenariobeispiel wird ein relativ einfaches Tabellenkalkulationsmodell 310 verwendet, so dass sich der Leser auf die Lehren der Ausführungsform konzentrieren kann, ohne sich von sehr komplizierten Tabellen oder anderen Modellen verwirren zu lassen. Bei einem üblichen Einsatz baut man jedoch ein Tabellenkalkulationsmodell auf, das einige zwanzig oder gar mehrere hundert Zellen enthält, wobei einige hundert bis zu mehreren tausend gegenseitige Zellenabhängigkeiten auftreten können. In einem solchen Fall kann es erwünscht sein, nicht jede Veränderungs- und Ergebniszelle hervorzuheben. Der Benutzer will sich vermutlich auf weniger Zellen konzentrieren, als das System hervorgehoben oder unterlegt hat. Um unerwünschte Zellen (d. h. Zellen, die nicht hervorgehoben werden sollen) auszuschließen, wählt der Benutzer die gewünschten Zellen und betätigt den Zellenlöschknopf 326 (für Veränderung bzw. Ergebnis). Das System sperrt daraufhin die Hervorhebung für diese Zellen. Beim Szenario Thin Fizz 1 (in Fig. 4D) setzt der Benutzer die Hervorhebung für die Zellen H4 und H6 außer Kraft, siehe Fig. 4F. Die Tabellenkalkulationsseite 310 F zeigt, dass die Zelle B4 eine Veränderungshervorhebung 461 und die Zelle B6 eine Ergebnishervorhebung 463 enthält. Für die Zellen H4 und H6 ist die Ergebnishervorhebung jedoch außer Kraft (gezeigt bei 465 bzw. 467). Der Benutzer kann auf diese Weise die Erfindung anwenden und hochentwickelte Szenarios aus komplizierten Tabellenkalkulationsmodellen erzeugen, und er kann die Systemrückmeldung auf seine Wünsche zuschneiden.
  • 4. Szenariogruppen
  • Eine Gruppe umfasst einen Satz Szenarios. Das obige Beispiel hat das Erzeugen eines Satzes Szenarios in einer einzigen Gruppe (Group1) erläutert. Jeder Ordner kann so viele Szenariogruppen enthalten, wie der Benutzer benötigt. Zum Erzeugen oder Umbenennen einer Gruppe betätigt der Benutzer den Gruppenknopf (bereits beschrieben) zum Definieren zusätzlicher Gruppen. Zum Hinzufügen einer neuen Gruppe gibt man den Namen im Editierfeld ein und wählt den Zufügeknopf. Erzeugt ein Benutzer eine neue Gruppe, so ist das erste Szenario, das er einfängt, der Ausgangszustand. Zum Umbenennen der aktiven Gruppe gibt man einen neuen Namen ein und wählt "Umbenennen". Zum Löschen der aktuellen Gruppe und aller Szenarios in ihr wählt man "Löschen". Der Benutzer kann das Optionskommando aufrufen, wenn er den Fangbereich oder die Blockverfolgungseinstellung ändern will.
  • 5. Anzeigen und Editieren von Szenarios
  • Zum Anzeigen eines gewünschten Szenarios muss der Benutzer lediglich dessen Namen aus der Szenarionamenliste wählen. Hat der Benutzer mehrere Szenariogruppen, so kann er vor der Wahl des Szenarios die gewünschte Gruppe in der Gruppennamenliste aussuchen. Stellt man ein Szenario dar, so ersetzen seine Veränderungszellen- und Ergebniszellenwerte die momentan auf dem Bildschirm dargestellten Werte. Auf diese Weise hat der Benutzer sofort Zugriff auf die zahlreichen Versionen, die für ein Basismodell eingefangen sind.
  • Der Benutzer kann die Inhalte einer beliebigen Zelle mit Standardeditierverfahren verändern. Zum Speichern von Veränderungen am aktiven Szenario drückt man den Szenariofangknopf. Nach dem Erscheinen der Szenariofang-Dialogbox behält man den Namen bei, um das aktive Szenario durch die aktuellen Zellen und Werte zu ersetzen. Der Benutzer kann einen weiteren Namen eingeben, um ein vorhandenes Szenario zu ersetzen oder ein neues zu erzeugen, und dann bestätigen (OK auswählen), um den Szenarionamen anzunehmen. Sämtliche Veränderungen erscheinen sofort in der Szenarioseite.
  • 6. Löschen von Szenarios und Gruppen
  • Zum Löschen eines Szenarios aus der Szenarionamenliste und Szenarioseite wählt der Benutzer das Szenario in der Szenarionamenliste und betätigt den Szenariolöschknopf. Befindet sich das Szenario in einer anderen Szenariogruppe, so drückt man zuerst den Szenariogruppenknopf und wählt den Gruppennamen. Zum Löschen aller Szenarios in einer Gruppe drückt man zuerst den Szenariogruppenknopf. Anschließend wählt man die Gruppe in der Gruppennamenliste. Zuletzt drückt man "Löschen".
  • Innere Verarbeitung
  • Das Verfahren dieser Ausführungsform für das Szenariomanagement ist im Flussdiagramm 500 in Fig. 5A zusammengefasst. Es werden die folgenden Schritte durchlaufen. Im Schritt 501 legt der Benutzer einen Fangbereich fest, d. h. einen Bereich, in dem das System vom Benutzer festgelegte Veränderungen verfolgt. In einer bevorzugten Ausführungsform kann man den Fangbereich zwischen einem Ordner, einer Seite oder einem Block auswählen, wobei die Voreinstellung "Seite" lautet. Wahlweise kann das System den Fangbereich automatisch bestimmen, beispielsweise aus einer Begrenzungsbox, die alle vom Benutzer veränderten Zellen enthält. Im Schritt 502 werden die vom Benutzer festgelegten Veränderungen aufgenommen. In diesem Fall verändert der Benutzer gewünschte Zellen (normalerweise durch die Eingabe neuer Zellenwerte) und erzeugt ein neues Szenario. Nach dem Abschluss des Schritts 502 (z. B. durch das Auswählen des Szenarioidentifizierungsbefehls) erfasst das System im Schritt 503 die veränderten Zellen. Dabei vergleicht das System die Werte der aktuellen Nicht-Formel-Zellen mit den entsprechenden Werten dieser Zellen im ursprünglichen Fangbereich oder "Ausgangszustand" (im Schritt 501 festgelegt). Im Schritt 504 bestimmt das System die Ergebniszellen, indem es nach Zellen sucht, (normalerweise Zellen, die Formeln enthalten, also "Formelzellen"), die abhängig von den Änderungen in denjenigen Zellen, die als Veränderungszellen erkannt wurden, einen neuen Wert liefern. Im Schritt 505 hebt das System die erkannten Veränderungs- und Ergebniszellen hervor und liefert damit dem Benutzer eine sichtbare Rückmeldung. Der Benutzer kann für gewünschte Zellen diese Rückmeldung gezielt freigeben oder abschalten.
  • Nach Abschluss des Schritts 505 hat der Benutzer mit Hilfe der Szenarioverwaltungswerkzeuge der Ausführungsform ein neues Szenario erzeugt. Im Schritt 506 können die Schritte 502-505 zum Erzeugen zusätzlicher Szenarios wiederholt werden. Sämtliche unerwünschten Szenarios können gelöscht werden (aus der Szenariolistenbox). Nach dem Erzeugen aller gewünschten Szenarios kann der Benutzer, wenn er dies wünscht, im Schritt 507 das System anweisen, einen zusammenfassenden Szenariobericht zu erzeugen. Im Schritt 508 sichert der Benutzer den aktuellen Ordner, wobei die verschiedenen Szenarios (Versionen) als Veränderung gegenüber dem Ausgangszustand oder dem Basismodell gespeichert werden.
  • Der Versionsbildungsschritt 508 wird nun anhand von Fig. 5B ausführlicher beschrieben. Die Abbildung zeigt, dass unterschiedliche Versionen oder Szenarios durch am Basismodell vorgenommene Änderungen entstehen. Es sei angenommen, dass das Tabellenkalkulationsmodell 560 als Basismodell 565 beschrieben ist. Zum Unterstützen dieses Basismodells werden sechs Zellenaufzeichnungen 567 verwendet (für die Zellen C1, C2, C4, F1, F2, F4). Die Erfindung erkennt jedoch, dass jede zusätzliche Version dadurch darstellbar ist, dass man nur eine oder mehrere Differenzaufzeichnungen (Deltarecords) speichert. Der Benutzer kann beispielsweise die Tabelle 570 als erste alternative Version oder alternatives Szenario 575 festlegen. Wie dargestellt sind eine Veränderungszelle (C1) und eine Ergebniszelle (C4) vorhanden. Zum Darstellen dieser neuen Version muss nur eine einzige Differenzaufzeichnung (Deltarecord) 577 erzeugt werden, damit man die neue Information für C1 (C1') zusammen mit einer Versionskennung speichern kann.
  • Fährt man in dieser Weise fort, so enthält die Tabelle 580 eine unterschiedliche Veränderungszelle (F2) und eine unterschiedliche Formelzelle (F4), wodurch ein zweites Szenario 585 bestimmt ist. Die Differenz zwischen dieser zweiten Version bzw. diesem zweiten Szenario 585 und dem Basismodell ist in einem einzigen Deltarecord 587 darstellbar, der die neue Veränderungszelle (F2') zusammen mit einer anderen Versionskennung speichert. Zuletzt ist noch ein drittes, durch die Tabelle 590 beschriebenes Szenario 595 dargestellt, das zwei Veränderungszellen (C2 und F1) und zwei Ergebniszellen enthält. Diese dritte Version ist intern durch das Speichern von zwei Delta- oder Veränderungsrecords 597 darstellbar, die die Zelleninformation für die neuen Zellen (C2', F1') zusammen mit einer Versionskennung enthalten. Die Versionskennungen selbst können in den einzelnen Records gespeichert werden. Wahlweise kann man Gruppen der Szenariorecords bilden (d. h., sie in eine vorbestimmte Abfolge diskreter Gruppen bringen), so dass die Kennung eines jeden Records nur einmal für die Gruppe gespeichert wird. Man kann die Kennung auch einfach aus der relativen Position der Gruppe ableiten. Fachleuten ist klar, dass man auch Listenstrukturen (z. B. verkettete Listen, Bäume usw.) dazu einsetzen kann, die Szenariorecords zu organisieren, und zwar einschließlich des Bezugs auf die Basisrecords in einer gewünschten Weise.
  • Die Erfindung ist anhand einer einzigen bevorzugten Ausführungsform und gewisser Alternativen ausführlich beschrieben worden. Es ist nicht beabsichtigt, die Erfindung auf diese besondere Ausführungsform oder diese besonderen Alternativen einzuschränken. Das Versionsbildungsverfahren der Erfindung ist beispielsweise in Situationen vorteilhaft anwendbar, in denen man wünscht, zahlreiche Beispiele (Versionen) eines einzelnen Modells zu verwalten.

Claims (39)

1. System, das automatisch verschiedene Versionen eines Datenmodells in einem elektronischen Modellbildungssystem verfolgt, mit dem man Information als Datenmodell modellieren kann, wobei das System elektronische Vorrichtungen (102) umfasst, die zum Speichern eines Modells in Form einer Anzahl miteinander verknüpfter Informationsorte angeordnet sind, gekennzeichnet durch:
Vorrichtungen (104, 105) für das System, das die Änderungen verfolgt, mit denen man eine Grundmenge der Informationsorte festlegen kann, die als Grundlage für das Datenmodell dient;
Vorrichtungen (104, 105, 152), mit denen man eine neue Version des Datenmodells anlegen kann, indem man den Inhalt mindestens eines der Informationsorte in der Grundmenge verändert; und
eine Vergleichsvorrichtung (152), die erkennt, welche Informationsorte sich in der neuen Version gegenüber der Grundmenge geändert haben, indem sie die Inhalte der Orte in der neuen Version mit den entsprechenden Inhalten in der Grundmenge vergleicht.
2. System nach Anspruch 1, wobei das Modellbildungssystem ein Tabellenkalkulationssystem ist, und die Informationsorte Zellen sind.
3. System nach Anspruch 1, wobei die Vorrichtung zum Festlegen einer Grundmenge Eingabevorrichtungen (104, 105) enthält, mit denen man einen ausgewählten Block von Orten, eine Bildschirmtabelle von Orten und eine Anzahl Bildschirmtabellen eingeben kann.
4. System nach irgendeinem der Ansprüche 1 bis 3, wobei die Vorrichtung zum Erzeugen einer neuen Version Eingabevorrichtungen (104, 105) zum Eingeben neuer Werte in mindestens einen der Informationsorte enthält.
5. System nach irgendeinem der vorhergehenden Ansprüche, wobei in einigen der Orte die Wechselbeziehungen durch Formeln definiert sind.
6. System nach Anspruch 5, wobei die Vergleichsvorrichtung eine Einrichtung umfasst, die jeden Ort in der neuen Version mit einem entsprechenden Ort in der Grundmenge vergleicht, und einen Ort, der keine Formel enthält, dessen Wert sich aber geändert hat, als veränderten Ort erkennt.
7. System nach Anspruch 6, wobei die Vergleichsvorrichtung zudem eine Einrichtung enthält, die feststellt, welche Informationsorte sich abhängig von Änderungen des erkannten veränderten Orts ändern.
8. System nach Anspruch 7, zudem umfassend eine Darstellungsvorrichtung (106), die sich verändernde Orte und Orte mit Ergebnissen hervorhebt.
9. System nach irgendeinem der vorhergehenden Ansprüche, umfassend eine Eingabevorrichtung (104), mit der man einen benutzerdefinierten Namen für jede neue Version eingeben kann.
10. System nach irgendeinem der vorhergehenden Ansprüche, zudem umfassend eine Vorrichtung, die zum Speichern der Orte der Grundmenge des Modells in einer Anzahl Ortsdatensätze eingerichtet ist, und dazu, für jede neu erzeugte Version lediglich Datensätze für veränderte Orte zu speichern.
11. Verfahren zum automatischen Verfolgen unterschiedlicher Versionen eines Datenmodells in einem elektronischen Modellbildungssystem, mit dem man in ein Datenmodell eingegebene Information modellieren kann, wobei das Datenmodell eine Anzahl Informationsorte enthält, deren Wechselbeziehungen man mit dem Modellsystem definieren kann, gekennzeichnet durch:
a) das Festlegen einer Grundmenge an Informationsorten, die als Grundlage des Modells dienen, für das System, das die Änderungen verfolgt;
b) das Erzeugen einer neuen Version des Datenmodells durch das Abwandeln des Inhalts mindestens eines Informationsorts aus der festgelegten Grundmenge; und
c) das automatische Erkennen derjenigen Orte des Datenmodells, die sich verändert haben, durch den Inhaltsvergleich der Orte in der neuen Version mit den entsprechenden Orten in der Grundmenge.
12. Verfahren nach Anspruch 11, wobei der Schritt a) umfasst:
das Auswählen eines Erfassungsbereichs, der Informationsorte enthält, die das System automatisch verfolgen soll; und
das Erfassen der Grundmengeninformation im Erfassungsbereich, von dem der Benutzer wünscht, dass er als Bezug dient, mit dem neue Versionen verglichen werden.
13. Verfahren nach Anspruch 11 oder 12, wobei das Modellbildungssystem ein Tabellenkalkulationssystem ist und die Informationsorte Zellen sind.
14. Verfahren nach Anspruch 12 und 13, wobei das Auswählen des Erfassungsbereichs das Auswählen eines Tabellenkalkulations-Zellenblocks, einer zweidimensionalen Zellenmatrix (Seite) und einer dreidimensionalen Zellenmatrix (Notizbuch) umfasst.
15. Verfahren nach Anspruch 12 oder 13, wobei das Auswählen des Erfassungsbereichs das Festlegen einer Menge an Informationsorten bzw. Zellen enthält, sie so ausgewählt werden, dass sie Orte oder Zellen umfassen, die durch äußere Eingaben in das Modellbildungssystem verändert werden sollen.
16. Verfahren nach irgendeinem der Ansprüche 11 bis 15, wobei der Schritt b) das Eingeben neuer Werte in mindestens einen Informationsort aus der Grundmenge enthält.
17. Verfahren nach irgendeinem der Ansprüche 11 bis 16, wobei die Wechselbeziehungen in einigen Orten durch Formeln definiert sind.
18. Verfahren nach Anspruch 17, wobei der Schritt c) umfasst:
das Vergleichen von Informationsorten in der neuen Version, die keine Formeln enthalten, mit entsprechenden Orten in der Grundmenge, wobei Orte der neuen Version, deren Wert sich verändert hat, als veränderte Orte gekennzeichnet werden; und
das Vergleichen von Informationsorten in der neuen Version, die Formeln enthalten, mit entsprechenden Orten in der Grundmenge, wobei Orte in der neuen Version mit verändertem Wert als Ergebnisorte gekennzeichnet werden.
19. Verfahren nach Anspruch 17, wobei der Schritt c) enthält:
i) das Vergleichen von Informationsorten in der neuen Version, die keine Formeln enthalten, mit entsprechenden Orten in der Grundmenge, wobei Orte der neuen Version, deren Wert sich verändert hat, als veränderte Orte gekennzeichnet werden; und
ii) innerhalb der Informationszellen, die keine geänderten Orte sind, das Erkennen der Zellen, deren Wert sich durch die Änderungen in den veränderten Orten ändert, wobei Zellen mit verändertem Wert als Ergebniszellen gekennzeichnet werden.
20. Verfahren nach Anspruch 19, wobei jeder Ergebnisort einen direkten oder indirekten Bezug zu mindestens einem veränderten Ort enthält.
21. Verfahren nach Anspruch 19 oder 20, wobei das Erkennen der Ergebnisorte im Unterschritt ii) auf die Untersuchung von Zellen beschränkt ist, die Formeln speichern.
22. Verfahren nach irgendeinem der Ansprüche 18 bis 21, zudem umfassend die Anzeige der veränderten Orte und der Ergebnisorte für den Benutzer.
23. Verfahren nach Anspruch 22, wobei der Anzeigeschritt den Gebrauch einer Bildschirmdarstellung umfasst, und die veränderten Orte mit einer ersten Hervorhebung auf dem Bildschirm und die Ergebnisorte mit einer zweiten Hervorhebung auf dem Bildschirm dargestellt werden.
24. Verfahren nach Anspruch 23, zudem umfassend das gezielte Abschalten der Bildschirmhervorhebung entweder der veränderten Orte oder der Ergebnisorte je nach Wunsch.
25. Verfahren nach irgendeinem der Ansprüche 11 bis 24, zudem umfassend:
d) das Erfassen der neuen Version als Szenario, dem der Benutzer einen Namen geben kann.
26. Verfahren nach Anspruch 25, zudem umfassend:
e) das Wiederholen der Schritte b) - d), wobei zahlreiche Szenarios erfasst werden.
27. Verfahren nach Anspruch 26, auch umfassend:
f) das Speichern der Grundmenge zusammen mit der Anzahl erfasster Szenarien auf einer Speichervorrichtung.
28. Verfahren nach Anspruch 27, wobei der Schritt f) das Speichern der Informationsorte der Grundmenge des Datenmodells als eine Anzahl Ortsdatensätze umfasst, und für jede vom Benutzer neu erzeugte Version lediglich das Speichern der Datensätze für die erkannten veränderten Orte.
29. Verfahren nach Anspruch 28, wobei jeder Ortsdatensatz die Ortsinformation, die Ortsposition und Ortsattribute speichert.
30. Verfahren nach Anspruch 28, wobei in jedem Datensatz, der für einen erkannten veränderten Ort gespeichert wird, die neue Information, die Ortsposition, die Ortsattribute und eine Versionskennung enthalten sind.
31. Verfahren nach Anspruch 11, wobei der Schritt a) zudem umfasst:
das Beibehalten der Grundmenge als geordnete Information auf einer Speichervorrichtung; und der Schritt b) zudem umfasst:
für jede neue Version des Tabellenkalkulationsmodells:
i) das Bestimmen der Teile der neuen Version, die sich verglichen mit der Grundmenge geändert haben, und
ii) das Aufbewahren der neuen Version durch das Speichern zusätzlicher Information nur für diejenigen Teile, die als geändert erkannt wurden.
32. Verfahren nach Anspruch 31, wobei das Tabellenkalkulationsmodell die Information in einer Anzahl Informationszellen aufbewahrt, und die geordnete Information eine erste Menge Datensätze enthält, die Informationszellen der Grundmenge beschreiben, und die zusätzliche Information eine zweite Menge Datensätze umfasst, die Informationszellen nur für diejenigen Teile der neuen Version enthält, die als geändert erkannt wurden.
33. Verfahren nach Anspruch 32, wobei jeder Datensatz der zweiten Menge, der eine Informationszelle beschreibt, ein Versionsdatensatz ist, der einen veränderten Wert für seine Zelle speichert.
34. Verfahren nach Anspruch 33, wobei jeder Versionsdatensatz zudem einen Zellenort enthält.
35. Verfahren nach Anspruch 33, wobei jeder Versionsdatensatz zudem eine Kennung enthält, der den Datensatz einer besonderen neuen Version zuordnet.
36. Verfahren nach Anspruch 33, wobei Versionsdatensätze für eine neue Version so gespeichert werden, dass man daraus eine besondere neue Version ableiten kann.
37. Verfahren nach Anspruch 36, wobei Versionsdatensätze für eine besondere neue Version als diskrete Untermenge gruppiert werden, so dass man die Version aus der Anordnung der Untergruppe relativ zu anderen Untergruppen ableiten kann.
38. Verfahren nach irgendeinem der Ansprüche 31 bis 37, auch umfassend:
c) das Wiederholen des Schritts b) für mehrere neue Versionen; und
d) das Speichern zusätzlicher Information für jede neue Version als nachfolgende Untermenge der zweiten Datensatzmenge.
39. Verfahren nach irgendeinem der Ansprüche 31 bis 38, wobei das Tabellenkalkulationsmodell die Information in einer Anzahl Informationszellen hält, und wobei der Unterschritt i) den Vergleich einer jeden Informationszelle der neuen Version mit einer entsprechenden Zelle der Grundversion umfasst, und ein unterschiedlicher Wert zwischen den beiden Zellen als Veränderungen erkannt wird.
DE69425684T 1993-03-11 1994-03-09 System und Verfahren zur Verwaltung elektronischer Modellierungssysteme Expired - Fee Related DE69425684T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/031,379 US5303146A (en) 1993-03-11 1993-03-11 System and methods for improved scenario management in an electronic spreadsheet

Publications (2)

Publication Number Publication Date
DE69425684D1 DE69425684D1 (de) 2000-10-05
DE69425684T2 true DE69425684T2 (de) 2000-12-28

Family

ID=21859126

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69425684T Expired - Fee Related DE69425684T2 (de) 1993-03-11 1994-03-09 System und Verfahren zur Verwaltung elektronischer Modellierungssysteme

Country Status (4)

Country Link
US (3) US5303146A (de)
EP (1) EP0615200B1 (de)
CA (1) CA2116651A1 (de)
DE (1) DE69425684T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7416136B2 (en) 2004-03-04 2008-08-26 Parsytec Computer Gmbh Method for preprocessing surface data, method for quality assessment and for quality management of strip material and apparatus for controlling the processing of strip material

Families Citing this family (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303146A (en) 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
JPH0737008A (ja) * 1993-06-29 1995-02-07 Hitachi Ltd 表計算処理装置の表示制御方法
US5461708A (en) * 1993-08-06 1995-10-24 Borland International, Inc. Systems and methods for automated graphing of spreadsheet information
US5485618A (en) * 1993-12-15 1996-01-16 Borland International, Inc. Methods and interface for building command expressions in a computer system
US5799295A (en) * 1993-12-29 1998-08-25 Kabushiki Kaisha Toshiba Constraint-based spreadsheet system capable of displaying a process of execution of programs
US5818715A (en) * 1994-04-18 1998-10-06 International Business Machines Corporation Method and system for efficiently modifying a project model in response to an update to the project model
US5604854A (en) * 1994-04-22 1997-02-18 Borland International, Inc. System and methods for reformatting multi-dimensional spreadsheet information
US5806078A (en) * 1994-06-09 1998-09-08 Softool Corporation Version management system
US5727161A (en) * 1994-09-16 1998-03-10 Planscan, Llc Method and apparatus for graphic analysis of variation of economic plans
US5729730A (en) * 1995-03-28 1998-03-17 Dex Information Systems, Inc. Method and apparatus for improved information storage and retrieval system
WO1996025717A1 (en) * 1995-02-14 1996-08-22 Business Matters Incorporated Computer based financial planning system
JP3166555B2 (ja) * 1995-04-13 2001-05-14 富士ゼロックス株式会社 文書処理装置
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
GB2303946A (en) * 1995-07-29 1997-03-05 Ibm Data conferencing system
US5812983A (en) * 1995-08-03 1998-09-22 Kumagai; Yasuo Computed medical file and chart system
GB2303948B (en) * 1995-08-03 2000-06-28 Ibm A data processing system
US5983001A (en) * 1995-08-30 1999-11-09 Sun Microsystems, Inc. Method and system for facilitating the automatic creation of test scripts
US6604088B1 (en) * 1995-09-12 2003-08-05 Monarch Marking Systems, Inc. Automatic barcode printing supply price quote system and method
EP0770967A3 (de) * 1995-10-26 1998-12-30 Koninklijke Philips Electronics N.V. System zur Entscheidungsunterstützung für das Management einer flinken Versorgungskette
US5860071A (en) * 1997-02-07 1999-01-12 At&T Corp Querying and navigating changes in web repositories
US6035300A (en) * 1995-12-15 2000-03-07 International Business Machines Corporation Method and apparatus for generating a user interface from the entity/attribute/relationship model of a database
US5799193A (en) * 1996-04-29 1998-08-25 Siemens Corporate Research, Inc. Scenario based iterative method for development of an object oriented system model
US5819293A (en) * 1996-06-06 1998-10-06 Microsoft Corporation Automatic Spreadsheet forms
US6513154B1 (en) 1996-10-21 2003-01-28 John R. Porterfield System and method for testing of computer programs in programming effort
US6292810B1 (en) 1997-03-03 2001-09-18 Richard Steele Richards Polymorphic enhanced modeling
US5910895A (en) * 1997-06-13 1999-06-08 Teradyne, Inc. Low cost, easy to use automatic test system software
GB9713719D0 (en) * 1997-06-27 1997-09-03 British Telecomm Data model compiler
US6564319B1 (en) * 1997-12-29 2003-05-13 International Business Machines Corporation Technique for compressing digital certificates for use in smart cards
EP1037157A1 (de) * 1999-03-05 2000-09-20 International Business Machines Corporation Verfahren und System zur Bearbeitung unterschiedlichen Zellenschutzmoden in einem elektronischen Kalkulationsblatt
US6766325B1 (en) * 1999-12-02 2004-07-20 Microsoft Corporation System and method for maintaining data for performing “what if” analysis
US7185279B2 (en) * 2000-01-07 2007-02-27 Master Mine Software, Inc. Data mining and reporting
US6891566B2 (en) 2000-03-14 2005-05-10 Joseph Robert Marchese Digital video system using networked cameras
DE10014427A1 (de) * 2000-03-24 2001-10-04 Weinmann G Geraete Med Verfahren zur Steuerung eines Beatmungsgerätes sowie Vorrichtung zur Überwachung
US7143338B2 (en) * 2000-04-14 2006-11-28 International Business Machines Corporation Method and system in an electronic spreadsheet for handling absolute references in a copy/cut and paste operation according to different modes
US20020059233A1 (en) * 2000-07-13 2002-05-16 International Business Machines Corporation Method and system in an electronic spreadsheet for applying user-defined options
US7178098B2 (en) * 2000-07-13 2007-02-13 International Business Machines Corporation Method and system in an electronic spreadsheet for handling user-defined options in a copy/cut—paste operation
US7146561B2 (en) * 2000-07-13 2006-12-05 International Business Machines Corporation Method and system in an electronic spreadsheet for comparing series of cells
US7272783B2 (en) * 2000-07-13 2007-09-18 International Business Machines Corporation Method and system in an electronic spreadsheet for managing and handling user-defined options
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
EP1204048A1 (de) 2000-11-03 2002-05-08 Sun Microsystems, Inc. Verfahren und Vorrichtung zur Szenarien-Handhabung in einen Kalkulationsblatt
US6779151B2 (en) * 2001-01-05 2004-08-17 Microsoft Corporation Storing objects in a spreadsheet
WO2002057932A1 (en) * 2001-01-16 2002-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US8275974B2 (en) * 2001-01-16 2012-09-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US7082569B2 (en) * 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US20020143809A1 (en) * 2001-03-28 2002-10-03 Bennett Paul W. System and method for calculation using multi-field columns with hidden fields
US20030033329A1 (en) * 2001-06-22 2003-02-13 Bergman Eric D. Method and apparatus for entry and editing of spreadsheet formulas
US7251776B2 (en) * 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8069405B1 (en) * 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US20030187717A1 (en) * 2002-03-29 2003-10-02 Robert Crites Method for marketing strategy optimization
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US6880037B2 (en) * 2002-08-13 2005-04-12 Activcard, Inc. Method of data caching on a smartcard
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US20040080514A1 (en) * 2002-10-24 2004-04-29 Dorwart Richard Wilson System and method for automated data extraction, manipulation and charting
US20040098249A1 (en) * 2002-11-18 2004-05-20 Yaliang Wang Method and system to utilize web resources for language vocabulary learning
US7171421B2 (en) * 2002-11-26 2007-01-30 General Electric Company System for automating operating parameter list process
GB0403059D0 (en) 2004-02-12 2004-03-17 Cluster Seven Ltd Xigence version 1.0
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US7444584B1 (en) * 2004-03-30 2008-10-28 Microsoft Corporation Method and system for formulaically redirecting and modifying formula set operations in a spreadsheet application
US20050253874A1 (en) * 2004-05-13 2005-11-17 Microsoft Corporation Report customization and viewer
US9323735B2 (en) * 2004-06-08 2016-04-26 A3 Solutions Inc. Method and apparatus for spreadsheet automation
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7676738B2 (en) * 2004-09-13 2010-03-09 Whitebirch Software, Inc. Scenario-dependent evaluation formula
US20060167778A1 (en) * 2004-09-21 2006-07-27 Whitebirch Software, Inc. Object-oriented financial modeling
US8745483B2 (en) 2004-10-07 2014-06-03 International Business Machines Corporation Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet
US8296646B2 (en) * 2005-02-02 2012-10-23 International Business Machines Corporation Focusing on areas of the display of tabular data through hierarchical collapsing and expanding of cell areas
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US9734139B2 (en) * 2005-02-14 2017-08-15 Cluster Seven Limited Auditing and tracking changes of data and code in spreadsheets and other documents
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
CN1892641A (zh) * 2005-06-29 2007-01-10 国际商业机器公司 用于在电子表单中隐藏模型内的敏感数据的方法和系统
CN1904879B (zh) * 2005-07-27 2011-01-12 国际商业机器公司 电子表格系统及获取电子表格文档的快照/历史信息的方法
DE102005036321A1 (de) * 2005-07-29 2007-02-01 Siemens Ag Verfahren und Vorrichtung zum dynamischen Generieren von Testszenarien für komplexe rechnergesteuerte Systeme, z.B. für medizintechnische Anlagen
US8549392B2 (en) * 2005-08-30 2013-10-01 Microsoft Corporation Customizable spreadsheet table styles
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
GB2433614A (en) * 2005-12-23 2007-06-27 Mark Martindale Data tracking system
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US9166883B2 (en) 2006-04-05 2015-10-20 Joseph Robert Marchese Network device detection, identification, and management
US8656272B2 (en) * 2006-04-28 2014-02-18 Microsoft Corporation Persisting instance-level report customizations
US20070294612A1 (en) * 2006-06-20 2007-12-20 Microsoft Corporation Comparing and Managing Multiple Presentations
JP5175284B2 (ja) * 2006-07-31 2013-04-03 クラスター セブン リミテッド スプレッドシートおよびその他の文書の記憶および処理
CN101127034B (zh) * 2006-08-18 2012-05-23 国际商业机器公司 数据组织、查询、呈现、存档、恢复、删除、提炼方法及装置和系统
US20080168341A1 (en) * 2007-01-10 2008-07-10 Raymond Payette Digital spreadsheet formula automation
US8205150B2 (en) * 2007-01-22 2012-06-19 Cfph, Llc Document changes
US20080222508A1 (en) * 2007-03-08 2008-09-11 Huy Nguyen Method and system for comparing spreadsheets
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US20080301542A1 (en) * 2007-06-01 2008-12-04 Mcgee David Digital paper-enabled spreadsheet systems
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US8577704B2 (en) * 2007-12-10 2013-11-05 Modelsheet Software, Llc Automatically generating formulas based on parameters of a model
US8108193B2 (en) * 2008-08-28 2012-01-31 International Business Machines Corporation Collaboration framework for modeling
DE102008053296A1 (de) * 2008-10-27 2010-04-29 Atmel Automotive Gmbh Schaltung für eine Schleifenantenne und Verfahren zur Abstimmung
US10685177B2 (en) * 2009-01-07 2020-06-16 Litera Corporation System and method for comparing digital data in spreadsheets or database tables
US20100235848A1 (en) * 2009-03-11 2010-09-16 Selina Lam System and method for providing automatic advertising distribution for online computer users
US20100235239A1 (en) * 2009-03-11 2010-09-16 Selina Lam System and method for providing automatic advertising and category distribution for online computer users
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US8578289B2 (en) * 2010-01-28 2013-11-05 Ebay Inc. Application module for managing jobs asynchronously
US9785894B2 (en) 2010-03-31 2017-10-10 Oracle International Corporation Simulation of supply chain plans using web service
US9740994B2 (en) * 2010-03-31 2017-08-22 Oracle International Corporation Simulation of supply chain plans using data model
US9069747B2 (en) 2010-08-26 2015-06-30 Sap Se Methods, apparatus, systems and computer readable mediums for use in association with electronic spreadsheets
CA2718360A1 (en) * 2010-10-25 2011-01-05 Ibm Canada Limited - Ibm Canada Limitee Communicating secondary selection feedback
US8595610B2 (en) * 2011-01-25 2013-11-26 Infineon Technologies Ag Method, software and computer system for manipulating aggregated data
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
JP6092702B2 (ja) * 2013-04-25 2017-03-08 京セラ株式会社 通信端末、および情報送信方法
US9026897B2 (en) * 2013-07-12 2015-05-05 Logic9S, Llc Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system
US9116931B2 (en) * 2013-07-12 2015-08-25 Logic9S, Llc Integrated, configurable, analytical, temporal, visual electronic plan system
US20160092045A1 (en) 2014-09-30 2016-03-31 Splunk, Inc. Event View Selector
US20160098463A1 (en) 2014-10-05 2016-04-07 Splunk Inc. Event Segment Search Drill Down
US11231840B1 (en) 2014-10-05 2022-01-25 Splunk Inc. Statistics chart row mode drill down
US9977803B2 (en) 2015-01-30 2018-05-22 Splunk Inc. Column-based table manipulation of event data
US10013454B2 (en) 2015-01-30 2018-07-03 Splunk Inc. Text-based table manipulation of event data
US9922082B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Enforcing dependency between pipelines
US9922084B2 (en) 2015-01-30 2018-03-20 Splunk Inc. Events sets in a visually distinct display format
US9842160B2 (en) 2015-01-30 2017-12-12 Splunk, Inc. Defining fields from particular occurences of field labels in events
US9916346B2 (en) 2015-01-30 2018-03-13 Splunk Inc. Interactive command entry list
US10726037B2 (en) 2015-01-30 2020-07-28 Splunk Inc. Automatic field extraction from filed values
US10061824B2 (en) 2015-01-30 2018-08-28 Splunk Inc. Cell-based table manipulation of event data
US11442924B2 (en) 2015-01-30 2022-09-13 Splunk Inc. Selective filtered summary graph
US11544248B2 (en) 2015-01-30 2023-01-03 Splunk Inc. Selective query loading across query interfaces
US10915583B2 (en) 2015-01-30 2021-02-09 Splunk Inc. Suggested field extraction
US11615073B2 (en) 2015-01-30 2023-03-28 Splunk Inc. Supplementing events displayed in a table format
US10331495B2 (en) 2016-02-05 2019-06-25 Sas Institute Inc. Generation of directed acyclic graphs from task routines
US10795935B2 (en) 2016-02-05 2020-10-06 Sas Institute Inc. Automated generation of job flow definitions
US10642896B2 (en) 2016-02-05 2020-05-05 Sas Institute Inc. Handling of data sets during execution of task routines of multiple languages
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
US10360069B2 (en) 2016-02-05 2019-07-23 Sas Institute Inc. Automated transfer of neural network definitions among federated areas
US10346476B2 (en) 2016-02-05 2019-07-09 Sas Institute Inc. Sketch entry and interpretation of graphical user interface design
US10650046B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Many task computing with distributed file system
US10387558B2 (en) * 2016-02-23 2019-08-20 International Business Machines Corporation Provision of a separate input interface for user interaction with a spreadsheet
JP6862993B2 (ja) * 2017-03-28 2021-04-21 コニカミノルタ株式会社 出力制御プログラム及び出力制御方法
US11467971B2 (en) * 2017-08-29 2022-10-11 Workday, Inc. Systems and methods for accelerating data computation
US11080462B2 (en) 2017-11-13 2021-08-03 Workshare Ltd. Method of comparing two data tables and displaying the results without source formatting
US10409890B2 (en) * 2018-01-04 2019-09-10 Apple Inc. Evaluation of formulas via modal attributes
US10884571B2 (en) * 2018-01-11 2021-01-05 Microsoft Technology Licensing, Llc Dependency-based presence for co-authored documents
US11810034B2 (en) 2018-11-02 2023-11-07 Kardin Systems Inc. Variable resource allocation
WO2020118354A1 (en) * 2018-12-11 2020-06-18 Marc William Rautenbach Improved spreadsheet and method for updating same
US11054962B1 (en) * 2019-12-16 2021-07-06 Digits Financial, Inc. System and method for displaying changes to a number of entries in a set of data between page views
US11048378B1 (en) * 2019-12-16 2021-06-29 Digits Financial, Inc. System and method for tracking changes between a current state and a last state seen by a user

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4020466A (en) * 1974-07-05 1977-04-26 Ibm Corporation Memory hierarchy system with journaling and copy back
US4077059A (en) * 1975-12-18 1978-02-28 Cordi Vincent A Multi-processing system with a hierarchial memory having journaling and copyback
US5055998A (en) * 1984-12-10 1991-10-08 Wang Laboratories, Inc. Intermediate spreadsheet structure
EP0211151B1 (de) * 1985-05-30 1992-09-09 International Business Machines Corporation Verfahren zum Steuern der Folge von Editierzellen in einem elektronischen Kalkulationsblatt
US5021973A (en) * 1986-01-16 1991-06-04 International Business Machines Corporation Method for assisting the operator of an interactive data processing system to enter data directly into a selected cell of a spreadsheet
US4819156A (en) * 1986-06-13 1989-04-04 International Business Machines Corporation Database index journaling for enhanced recovery
US5033009A (en) * 1989-03-03 1991-07-16 Dubnoff Steven J System for generating worksheet files for electronic spreadsheets
US5255356A (en) * 1989-05-31 1993-10-19 Microsoft Corporation Method for hiding and showing spreadsheet cells
US5182793A (en) * 1989-06-30 1993-01-26 Texas Instruments Incorporated Computer-aided decision making with a symbolic spreadsheet
US5093907A (en) * 1989-09-25 1992-03-03 Axa Corporation Graphic file directory and spreadsheet
US5237500A (en) * 1990-02-27 1993-08-17 Realvalue Corporation System and process for converting constant dollar financial instruments
US5214780A (en) * 1990-03-23 1993-05-25 Sun Microsystems, Inc. Synchronized journaling system
US5276607A (en) * 1990-03-28 1994-01-04 Wordperfect Corporation Method for optimal recalculation
US5231577A (en) * 1990-04-06 1993-07-27 Microsoft Corporation Method and system for processing formatting information in a spreadsheet
US5095429A (en) * 1990-08-28 1992-03-10 Pillar Corporation Method for prioritizing data in financial information system
US5293615A (en) * 1990-11-16 1994-03-08 Amada Carlos A 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
JPH04324540A (ja) * 1991-04-25 1992-11-13 Kobe Nippon Denki Software Kk テキスト変更管理方式
CA2074769C (en) * 1991-08-09 2001-03-20 International Business Machines Corporation Formula processor
US5416895A (en) * 1992-04-08 1995-05-16 Borland International, Inc. System and methods for improved spreadsheet interface with user-familiar objects
US5371675A (en) * 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
US5303146A (en) * 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7416136B2 (en) 2004-03-04 2008-08-26 Parsytec Computer Gmbh Method for preprocessing surface data, method for quality assessment and for quality management of strip material and apparatus for controlling the processing of strip material

Also Published As

Publication number Publication date
EP0615200B1 (de) 2000-08-30
DE69425684D1 (de) 2000-10-05
EP0615200A3 (de) 1995-06-14
US5499180A (en) 1996-03-12
US6438565B1 (en) 2002-08-20
EP0615200A2 (de) 1994-09-14
CA2116651A1 (en) 1994-09-12
US5303146A (en) 1994-04-12

Similar Documents

Publication Publication Date Title
DE69425684T2 (de) System und Verfahren zur Verwaltung elektronischer Modellierungssysteme
DE60008498T2 (de) Verfahren und System zum Addieren und Löschen von Elementen in einem Bereich von mit Namen versehenen Zellen entsprechend verschiedener Methoden in einem elektronischen Kalkulationsblatt
DE69331025T2 (de) System und Verfahren für Rechnerschnittstellen
DE69429658T2 (de) Computer-bedieneroberfläche für dokumente mit vielfältigem inhalt
DE60133343T2 (de) Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion
DE3881331T2 (de) Flexible Fensterverwaltung auf einer Rechneranzeige.
DE3586790T2 (de) In linie-dynamischer editor fuer gemischte objectdokumente.
DE4301766C2 (de) Verfahren zum Darstellen eines doppelseitigen, umwendbaren elektronischen Papiers
DE3586274T2 (de) Vieldaten-edierungsgeraet mit gebrauch von attributstroemen fuer textobjekte.
DE3586273T2 (de) Implizite erzeugung einer superblockstruktur in einem vieldaten-edierungsgeraet.
DE3586272T2 (de) Integriertes vieldaten-edierungsgeraet.
DE69525243T2 (de) System zum binden von dokumentteilen und editoren in einer mensch-maschinen-schnittstelle
DE60319229T2 (de) Verfahren und system zur erweiterung der api eines dateisystems
DE69732547T2 (de) Verfahren und Gerät zum Zusammenklappen und zur Ausdehnung auserwählter Bereiche von Arbeitsräumen auf einem von einem Rechner kontrollierten Anzeigesystem
DE60314563T2 (de) Überlagerung mit elektronischer Tinte
DE68923492T2 (de) Verfahren zum Zugriff auf ausgewählte Fenster in einem Mehrprozessbetriebssystem.
DE69600794T2 (de) Graphische entwicklungs- und verwaltungsumgebung für anwendungsprogramme
DE69528885T2 (de) Software-notizen
DE69127672T2 (de) Zielorientiertes elektronisches Formblattsystem
DE68922116T2 (de) Dokumentverarbeitungssystem und Verfahren zur Verwendung darin.
DE69232110T2 (de) Darstellungssystem von Geschichtsinhalt für einen Informationsprozessor
DE60203525T2 (de) Vorrichtung und verfahren in einer büroapplikation zur bereitstellung von inhaltsabhängiger hilfeinformation
DE69026885T2 (de) Dynamische Selektion von Datenformaten für rekursiv geschachtelte logische Elemente
DE19959765B4 (de) Datei-Editor für mehrere Datenuntermengen
DE4334524A1 (de) Dokumentverarbeitungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee