DE112013000916T5 - System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt - Google Patents

System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt Download PDF

Info

Publication number
DE112013000916T5
DE112013000916T5 DE112013000916.1T DE112013000916T DE112013000916T5 DE 112013000916 T5 DE112013000916 T5 DE 112013000916T5 DE 112013000916 T DE112013000916 T DE 112013000916T DE 112013000916 T5 DE112013000916 T5 DE 112013000916T5
Authority
DE
Germany
Prior art keywords
artifact
design
designs
artifacts
time
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.)
Pending
Application number
DE112013000916.1T
Other languages
English (en)
Inventor
Judah M. Diament
Jacquelyn A. Martino
John C. Thomas Jr.
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013000916T5 publication Critical patent/DE112013000916T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Executing Machine-Instructions (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Flexible Shafts (AREA)

Abstract

Ein System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt kann in einem Aspekt einen oder mehrere Artefaktentwürfe enthalten, die jedem einer Mehrzahl von Artefakten zugehörig sind, wobei der eine oder die mehreren Artefaktentwürfe einen Zustand des zugehörigen Artefakts an einem Zeitpunkt und einen oder mehrere Befehle in einem Befehlsstapel darstellen, die einen direkten Vorgänger jedes Artefaktentwurfs in den Entwurf jedes Artefakts umgewandelt haben. Eine Mehrzahl von Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkten stellt Verbindungen zwischen dem einen oder den mehreren Artefaktentwürfen der Mehrzahl von Artefakten dar, wobei eine Verfolgbarkeitsverknüpfung eine Kante zwischen einem Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und einem Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten enthält, wobei der Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und der Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten die Verfolgbarkeitseckpunkte bilden.

Description

  • Gebiet der Erfindung
  • Die vorliegende Anmeldung betrifft allgemein Computer und Computeranwendungen und insbesondere Bearbeitung von Artefakten an einem zeitbezogenen Referenzpunkt.
  • Hintergrund
  • Wissen wird oft übergreifend über eine Gruppe von digitalen Artefakten oder Dateien wie Textdateien, Bildern, Binärdateien, Quellcode, proprietäre Anwendungsdateien und Sonstiges erfasst und fragmentiert. In dem Verlauf eines Erfassens oder Erstellens von derartigem Wissen werden implizite Beziehungen zwischen den Artefakten in der Gruppe erstellt und/oder angenommen. Um den Zustand des Wissens an einem bestimmten Zeitpunkt zu verstehen oder anzuzeigen, müssen oft alle oder viele der Erfassungsartefakte geprüft werden, wie sie an diesem Zeitpunkt vorhanden waren.
  • Die Typen von Wissen und ihre Erfassungsartefakte können sich weit voneinander unterscheiden. Zu Beispielen zählen: für Menschen verständliches Wissen, erfasst in Textverarbeitungsdokumenten, Kalkulationstabellen, Bildern, Diagrammen und Sonstigem; ausführbares „Wissen”, erfasst in Quellcode, Binärdateien, Konfigurationsdateien usw.; verteiltes Transaktionswissen, erfasst in verteilten Transaktionssystemen; Geschäftsprozesswissen, erfasst in den verschiedenen Systemen und Diensten, die zu dem Prozess zusammengesetzt sind; Prozess-/Thread-Wissen, erfasst in den Laufzeiten eines Parallel-/Multithread-Programms.
  • Es gibt Systeme, die verschiedene Typen von Wissen erfassen und zueinander in Beziehung setzen. Zu Beispielen für derartige Systeme zählen Abhängigkeitsmanagement-Systeme, Versionssteuerungssysteme, Content-Management-Systeme. Diese Systeme erfassen einen Artefaktzustand nur an bezeichneten Punkten, zum Beispiel über Versionen, Meilensteine, Festschreibungspunkte; nicht jedoch die Gruppe von Aktionen/Änderungen, die ein Artefakt von einem Zustand N in einen Zustand N + 1 umgewandelt haben. Navigation und Beziehungen zwischen Artefakten sind um ihren Zustand an den bezeichneten Punkten organisiert und auf ihn begrenzt.
  • Ein Anzeigen des Zustands einer Gruppe von zusammengehörigen Artefakten an einem bestimmten Zeitpunkt ist nicht möglich, wenn ein bezeichneter Punkt – z. B. Versionen, Meilensteine, Festschreibungspunkte – für diesen Zeitpunkt nicht vorhanden ist. Beim aktuellen Stand der Technik sind Benutzer nicht fähig, auf den Zustand einer Gruppe von Artefakten zuzugreifen, wie sie zum Zeitpunkt Y vorhanden waren, und/oder einen neuen Zustand der Artefakte beginnend ab ihrem Zustand zum Zeitpunkt Y zu erstellen, wobei Y nicht die Gegenwart ist, und der Zustand zum Zeitpunkt Y nicht explizit durch eine Version, einen Meilenstein, einen Festschreibungspunkt oder an einem anderen derartigen bezeichneten Punkt erfasst wird, der durch bekannte Methodiken erfasst wurde. Ein derartiges Unvermögen stellt einen einschränkenden Faktor beim gemeinsamen Erstellen und Erkennen von Wissen, beim Debugging (Fehlerbehebung) von verteilten und/oder parallelen Systemen, beim Erkennen von forensischem Wissen und Sonstigem dar.
  • Außerdem müssen beim aktuellen Stand der Technik Artefakte unter der Steuerung einer einzelnen Instanz/Installation dieser Systeme stehen, damit sie zueinander in Beziehung gesetzt werden können und somit das erfasste/fragmentierte Wissen neu erstellt werden kann. Beziehungen zwischen Artefakten, von denen eines oder mehrere vollständig außerhalb der Hierarchien der Systeme vorhanden sind, können nicht erfasst oder navigiert werden.
  • Kurzdarstellung
  • Ein System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt kann in einem Aspekt einen oder mehrere Artefaktentwürfe enthalten, die jedem von einer Mehrzahl von Artefakten zugehörig sind. Jeder der Artefaktentwürfe kann einen Zustand des zugehörigen Artefakts an einem Zeitpunkt und einen oder mehrere Befehle in einem Befehlsstapel darstellen, die einen direkten Vorgänger des Artefaktentwurfs in den Artefaktentwurf umgewandelt haben. Ein Mehrzahl von Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkten können Verbindungen zwischen den Artefaktentwürfen darstellen. Eine Verfolgbarkeitsverknüpfung kann eine Kante zwischen einem Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und einem Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten enthalten. Der Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und der Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten können die Verfolgbarkeitseckpunkte bilden. Ein Modul kann betriebsfähig sein, um auf einem Prozessor ausgeführt zu werden und von einem zeitbezogenen Referenzpunkt aus über die Mehrzahl von Verfolgbarkeitsverknüpfungen durch eines oder mehrere Artefakte der Mehrzahl von Artefakten zu navigieren.
  • Ein Verfahren zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt kann in einem Aspekt ein Empfangen eines Befehls enthalten, der ein erstes Artefakt bearbeitet. Das Verfahren kann auch ein Hinzufügen eines Zeitstempels zu dem Befehl enthalten. Das Verfahren kann ferner ein Speichern des Befehls in einem Befehlsstapel enthalten. Das Verfahren kann ferner noch ein Speichern eines aktuellen Zustands des ersten Artefakts und des Befehlsstapels als einen Artefaktentwurf enthalten. Ferner kann das Verfahren noch in Reaktion auf ein Erkennen, dass der Befehl eine Aktion ist, die auf ein zweites Artefakt zugreift, ein Erstellen einer Verfolgbarkeitsverknüpfung zwischen dem Artefaktentwurf und einem zweiten Artefaktentwurf enthalten, der dem zweiten Artefakt zugehörig ist.
  • Ein computerlesbares Speichermedium, das ein Programm von Anweisungen speichert, die von einer Maschine ausgeführt werden können, um ein oder mehrere hierin beschriebene Verfahren auszuführen, kann ebenfalls bereitgestellt werden.
  • Weitere Merkmale sowie die Struktur und Funktion von verschiedenen Ausführungsformen werden im Folgenden ausführlich unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. In den Zeichnungen geben gleiche Bezugszeichen identische oder funktional ähnliche Elemente an.
  • Kurzbeschreibung der verschiedenen Ansichten der Zeichnungen
  • Die 1A bis 1B veranschaulichen einen Verwendungsfall des Systems und der Methodik der vorliegenden Offenbarung in einer Ausführungsform.
  • 2 ist eine Systemdarstellung, die Komponenten des Systems der vorliegenden Offenbarung in einer Ausführungsform veranschaulicht.
  • 3 veranschaulicht ein Beispiel für ein Senden von Befehlen an ein TCS (Temporal Control System, d. h. Zeitbezogenes Steuersystem) in einer Ausführungsform der vorliegenden Offenbarung.
  • 4 veranschaulicht ein Beispiel für ein Erstellen eines Artefaktentwurfs in einer Ausführungsform der vorliegenden Offenbarung.
  • 5 veranschaulicht einen Beispielfolgeablauf zum Erstellen einer Verfolgbarkeitsverknüpfung in einer Ausführungsform der vorliegenden Offenbarung.
  • 6 veranschaulicht einen Beispielfolgeablauf, der ein Szenario veranschaulicht, in dem ein Benutzer die Zustände verschiedener Artefakte in einer Ausführungsform der vorliegenden Offenbarung anzeigen kann.
  • 7 veranschaulicht eine schematische Darstellung eines beispielhaften Computer- oder Verarbeitungssystems, welches das zeitbezogene Steuersystem in einer Ausführungsform der vorliegenden Offenbarung umsetzen kann.
  • Ausführliche Beschreibung
  • Die vorliegende Offenbarung stellt in einer Ausführungsform ein System und eine Methodik zum Anzeigen und Bearbeiten von Artefakten in einer Artefaktgesamtheit dar, wie sie an einem vorherigen Zeitpunkt vorhanden war. Zum Beispiel kann ein Benutzer, (wobei ein Benutzer ein Mensch oder ein automatisiertes System ist), der den Zustand von Artefakt x anzeigt, wie er zum Zeitpunkt y war, wählen, weitere Artefakte anzuzeigen, die von einem Benutzer des Systems in ihrem Zuständen angezeigt werden, in denen sie zum Zeitpunkt y waren. Ein Benutzer kann optional eine neue Pfadweiterleitung für ein oder mehrere Artefakte verzweigen, wobei der Anfangszustand einer neuen Verzweigung eines Artefakts der Zustand eines Artefakts zum Zeitpunkt y ist. Ein Benutzer kann Artefaktentwurfsgrafiken durchqueren, wobei Artefaktentwürfe durch Verfolgbarkeitsverknüpfungen verbunden sind, sodass ein Anzeigen des Zustands von Artefakt x einen Benutzer in die Lage versetzt, alle Artefakte anzuzeigen, die mit x in ihren Zuständen verbunden sind, in denen sie an Zeitpunkten waren, an denen jede Verbindung zum Artefakt x erstellt worden ist.
  • Im Allgemeinen beziehen sich Artefakte auf Komponenten oder Elemente, die in Projekten oder Arbeit verwendet oder erstellt werden. Artefakte können digitale Artefakte sein, zum Beispiel Komponenten oder Elemente in Informationstechnologiesystemen, wie beispielsweise Dateien, Bilder, Binärdateien, Quellcode, proprietäre Anwendungsdateien und Sonstiges, die in Arbeitsspeichereinheiten gespeichert werden und über einen Computerprozessor zugänglich sein können. Somit kann eine interessante Artefaktgesamtheit ein Datenverarbeitungssystem sein. Das System und die Methodik der vorliegenden Anmeldung kann auch auf Datenverarbeitungsbeschreibungen eines beliebigen anderen Typs von Systemen angewendet werden, zum Beispiel mechanische oder chemische Systeme, die anhand von Zuständen und Übergängen beschrieben und einem Datenverarbeitungssystem zugeordnet werden können. Die Komponenten in diesen Systemen können als digitale Artefakte beschrieben oder dargestellt werden. Das System und die Methodik der vorliegenden Offenbarung stellt unter anderem einen zeitbezogenen Mechanismus zum Rückgängig machen oder Ausführen für digitale Artefakte bereit.
  • Die 1A bis 1B veranschaulichen einen Verwendungsfall des Systems und der Methodik der vorliegenden Offenbarung in einer Ausführungsform. Bei 102 bearbeitet ein Benutzer ein erstes Artefakt. Bei 104 fügt jede Bearbeitungsaktion einen Befehl mit Zeitstempel zu einem wiederholbaren/zurückführbaren Befehlsstapel eines ersten Artefakts hinzu. Der Befehlsstapel enthält einen oder mehrere Befehle, die das Artefakt geändert haben. Bei 106 kann der Benutzer eine Option erhalten, einen ersten Artefaktzustand als einen Entwurf zuzuweisen, z. B. unter Verwendung von Beschriftungen, Tags oder anderen Elementen. Entwurf bezieht sich auf einen Zustand eines Artefakts an einem Zeitpunkt und als solcher gespeichert, wie durch einen Benutzer angegeben. Zum Beispiel kann ein erster Artefaktentwurf aus einem ersten Artefakt erstellt werden, und eine Gruppe von Befehlen, die das erste Artefakt in den ersten Artefaktentwurf umgewandelt haben, kann in einem Befehlsstapel gespeichert werden. Anschließende Zugriffe auf das erste Artefakt können auf einen oder mehrere der ersten Artefaktentwürfe des ersten Artefaktentwurfs erfolgen.
  • Bei 108 wird das erste Artefakt von einem oder mehreren anderen Artefakten verwendet oder wiederverwendet. Das System der vorliegenden Offenbarung erkennt in einer Ausführungsform eine derartige Verwendung und erstellt in Reaktion darauf eine Verfolgbarkeitsverknüpfung bei 110, zum Beispiel von dem ersten Artefaktentwurf (Quelle) zu einem Entwurf eines weiteren Artefakts (Ziel). In einer Ausführungsform wird die Verfolgbarkeitsverknüpfung zu dem Entwurf erstellt, der angezeigt, verwendet, auf den zugegriffen und/oder Bezug genommen wurde, als die Verknüpfung erstellt wurde. Wenn zum Beispiel die Quellen und das Ziel in Editorprogrammen geöffnet werden und ein Ausschneiden und Einfügen oder eine andere ähnliche Operation ausgeführt wird, ist die offene Version die Quelle; wenn zum Beispiel das erste Artefakt nicht in seiner Gesamtheit in einem Editorprogramm oder einem Viewer (Anzeigeprogramm) angezeigt/verwendet wird, sondern sich stattdessen zum Beispiel auf einer Liste von Artefakten in einer Browser-Anwendung/einem Viewer oder dergleichen befindet, über die bzw. das Benutzer sehen können, welche Artefakte vorhanden sind, wäre die Quelle jeder beliebige in dem Browser ausgewählte Entwurf. Ein derartiger Browser kann explizit eine Liste aller Entwürfe jedes Artefakts zeigen, und der Benutzer kann explizit einen Entwurf wählen, oder der Browser kann eine Liste von Artefakten zeigen und eine Annahme vorgeben, wie beispielsweise „letzter Entwurf”, „zuletzt angezeigter Entwurf” usw. Das System kann auch ohne explizite Aktion an sich seitens des Benutzers die Verwendung eines weiteren Artefakts automatisch erkennen. Wenn ein Benutzer zum Beispiel Text in ein Werkzeug eingibt, das den Benutzer in die Lage versetzt, eine ausführbare Geschäftslogik zu erstellen, und der Benutzer das Wort „Kunde” eingibt, wobei „Kunde” in einer Geschäftsontologie definiert wurde, könnte die Geschäftslogik automatisch als das Ziel und die Eingabe „Kunde” in der Ontologie erkannt werden, oder die Ontologie selbst könnte als die Quelle erkannt werden; in diesem Fall wäre der Entwurf der Ontologie, die aktuell durch das Logikerstellungswerkzeug verwendet wird, der Entwurf, der als die Quelle angegeben wird.
  • Als weiteres Beispiel kann das System der vorliegenden Offenbarung in einer Ausführungsform einen Zugriff oder eine Verwendung des ersten Artefakts von dem einen oder den mehreren Artefakten erkennen. Ein Beispiel kann ein Tabellenkalkulations-Anwendungsprogramm sein, das Daten aus einem elektronischen Dokument einer Textverarbeitungsanwendung in ein elektronisches Kalkulationstabellendokument kopiert. In diesem Beispiel wird eine Verfolgbarkeitsverknüpfung zwischen einem Artefaktentwurf erstellt, der dem Dokument des Tabellenkalkulations-Anwendungsprogramms zugehörig ist, und einem Artefaktentwurf, der dem Dokument der Textverarbeitungsanwendung zugehörig ist. Bei 112 können Verfolgbarkeitsverknüpfungen zwischen dem ersten Artefaktentwurf (Quelle) und dem zweiten Artefaktentwurf (Ziel) auch direkt durch einen Benutzer erstellt werden.
  • Zum Beispiel navigiert ein Benutzer bei 114, nachdem eines oder mehrere der Artefakte zu einem späteren Zeitpunkt als dem Zeitpunkt, an dem die Verfolgbarkeitsverknüpfung erstellt wurde, bearbeitet/geändert worden sind, zu einem Entwurf eines ersten Artefakts unter Verwendung eines Aufforderungscharakters (Affordanz), z. B. Zeitachse, Stapel, Baum usw. Aufforderungscharakter beziehen sich auf Mittel, durch die Benutzer verschiedene Aktionen ausführen können. Zu Aufforderungscharaktern in einer Ausführungsform in der vorliegenden Offenbarung können unter anderem, aber nicht darauf beschränkt, eine Anwendungsprogrammschnittstelle (API) zählen, die ein programmbezogenes Mittel ist, das von interaktiven Werkzeugen sowie von automatisierten Systemen zum Zugreifen auf und/oder Bearbeiten von Artefaktentwürfen verwendet wird; ein Artefakt-Viewer, ein Programm oder Modul zum Anzeigen des Zustands eines Artefaktentwurfs, sodass er von einem Benutzer erkannt werden kann; ein Editorproramm, ein Programm oder Modul, mit dem der Zustand eines Artefakts geändert werden kann und wodurch Befehle und/oder Artefaktentwürfe erstellt werden; ein Navigationswerkzeug, ein Dienstprogramm wie beispielsweise eine Zeitachse, ein Datenbaum und/oder Sonstiges für usw. zum Erreichen und/oder Auswählen eines Artefaktentwurfs oder eines Punkts in einem Befehlsstapel eines Entwurfs zwischen zwei Entwürfen, wodurch er als ein zeitbezogener Referenzpunkt ausgewählt wird, wobei ein Verfolgbarkeitseckpunkt über eine Verfolgbarkeitsverknüpfung erreicht wird. Verfolgbarkeitseckpunkt bezieht sich auf ein Artefakt oder einen Artefaktentwurf, der eine Verfolgbarkeitsverknüpfung aufweist.
  • Bei 116 wählt ein Benutzer zum Beispiel zu einem späteren Zeitpunkt einen Entwurf eines ersten Artefakts oder einen Punkt in dem Befehlsstapel zwischen zwei Entwürfen als einen zeitbezogenen Referenzpunkt für weitere Artefakte. Zeitbezogener Referenzpunkt bezieht sich auf einen Zeitpunkt, der von einem Benutzer ausgewählt wurde, sodass jedes Artefakt, das von dem Benutzer geöffnet, bearbeitet oder auf das von ihm zugegriffen wird, so dargestellt wird, wie es zu diesem Zeitpunkt war. Dieser Zustand wird in einer Ausführungsform der vorliegenden Offenbarung entweder durch einen Artefaktentwurf erfasst, der zu dem Zeitpunkt erstellt wurde, auf den Bezug genommen wird, oder durch Ausführen/Zurückführen eines Befehlsstapels eines Artefakts für einen Entwurf, der zeitlich nahe an dem Zeitpunkt liegt, auf den Bezug genommen wird, um zu dem Zustand des Artefakts zu dem Zeitpunkt zu gelangen, auf den Bezug genommen wird.
  • Bei 118 bestimmt das System der vorliegenden Offenbarung weitere Artefakte, die durch den Benutzer angezeigt werden oder bisher von dem Benutzer angezeigt wurden, um zum Beispiel diese weiteren Artefakte in ihren Zuständen zu zeigen, in denen sie sich am zeitbezogenen Referenzpunkt befunden haben oder als sie nahe an dem zeitbezogenen Referenzpunkt waren.
  • Bei 120 wird bestimmt, ob die Zustände von einem oder mehreren weiteren Artefakten, die aktuell angezeigt werden und/oder anderweitig durch den Benutzer des Systems bearbeitet werden, an dem zeitbezogenen Referenzpunkt durch Entwürfe der weiteren Artefakte (z. B. Entwurf y) dargestellt werden, und falls dies so ist, zeigt das System in einer Ausführungsform der vorliegenden Offenbarung die Entwürfe (y) bei 122. Dies kann durch Durchqueren der Verfolgbarkeitsverknüpfung erfolgen, die dem ausgewählten Entwurf zugehörig ist, indem der zeitbezogene Referenzpunkt angegeben und ein Zieleckpunkt der Verfolgbarkeitsverknüpfung gefunden wird. Der Zieleckpunkt wäre das eine oder die mehreren weiteren Artefakte.
  • Bei 124 wird bestimmt, ob der zeitbezogene Referenzpunkt zwischen zwei Entwürfen von einem oder mehreren weiteren Artefakten liegt, und falls dies so ist, wählt das System der vorliegenden Offenbarung in einer Ausführungsform Entwürfe der weiteren Artefakte, die dem zeitbezogenen Referenzpunkt zeitlich am nächsten sind, und rollt die Zustände der weiteren Artefakte zu dem zeitbezogenen Referenzpunkt, z. B. durch Wiederholen/Zurückführen der Befehlsstapel der weiteren Artefakte bei 126. Der zeitbezogene Referenzpunkt würde zwischen zwei Entwürfen liegen, wenn der als Referenzpunkt ausgewählte Zeitpunkt sich nach dem Zeitstempel eines Entwurfs des weiteren Artefakts, aber vor dem Zeitstempel des nachfolgenden Entwurfs des weiteren Artefakts befindet und Befehle in dem Befehlsstapel zwischen den beiden Entwürfen vorhanden sind. In einer Ausführungsform der vorliegenden Offenbarung werden die Schritte 124 und 126 ausgeführt, wenn sich am Referenzpunkt kein Entwurf eines weiteren Artefakts befindet. In dem Fall, in dem sich kein Entwurf eines weiteren Artefakts an dem zeitbezogenen Referenzpunkt befindet, können mehrere verschiedene Schritte ausgeführt werden, wie im Folgenden beschrieben.
  • Wenn der zeitbezogene Referenzpunkt vor dem allerersten Entwurf des weiteren Artefakts liegt, können einer oder mehrere der folgenden Schritte ausgeführt werden: nichts für das weitere Artefakt anzeigen und den Benutzer informieren, dass das weitere Artefakt zu diesem Zeitpunkt nicht vorhanden war; den frühesten Entwurf des weiteren Artefakts anzeigen, den Benutzer aber warnen, dass er nicht von demselben Zeitpunkt stammt wie der Referenzpunkt und hervorstechend den Zeitpunkt anzeigen, von dem sein Entwurf stammt; den Entwurf des weiteren Artefakts, das vorher gezeigt wurde, weiterhin anzeigen und den Benutzer informieren, dass das Artefakt zum zeitbezogenen Referenzzeitpunkt noch nicht vorhanden war.
  • Wenn der zeitbezogene Referenzpunkt nach dem Zeitstempel des letzten Entwurfs eines weiteren Artefakts liegt, kann das Verfahren der vorliegenden Offenbarung in einer Ausführungsform den letzten Entwurf des weiteren Artefakts anzeigen, da es der aktuelle Entwurf für diesen Zeitpunkt ist.
  • Für den Fall, in dem sich der Referenzpunkt zwischen zwei Entwürfen des weiteren Artefakts befindet, ist die folgende Aufeinanderfolge von Befehlen und Entwürfen eines Artefakts zu berücksichtigen, wobei alle einen Zeitstempel haben: ENTWURF 1, c1, c2, c2, c4, ENTWURF 2, c5, c6, c7, c8, c9, c10, c11, c12, c13, ENTWURF 3. Während sich die exakte Definition von „am nächsten” abhängig von der Natur der Befehle ändert, da vorstellbar ist, dass einige Befehle zeitaufwendiger und/oder anspruchsvoller als andere in einigen anderen Dimensionen als Zeit (Umsetzungskosten, Komplexität usw.) sind, wird für die Zwecke dieses Beispiels eine grob vereinfachende Welt angenommen, in der die Zeit und die Kosten aller Befehle identisch sind (in einer realen Umsetzung sind nicht alle Befehle gleich, und die Definition von „nahe” kann anwendungsspezifisch sein). Angenommen, der Referenzpunkt liegt zwischen c7 und c8. Da c7 3 Befehle von ENTWURF 2 entfernt ist, und c8 6 Befehle von ENTWURF 3 entfernt ist, könnte man mit ENTWURF 2 beginnen und anschließend die Befehle c5, c6 und c7 ausführen, um zu einem Zustand zu gelangen, der als dem Referenzpunkt „am nächsten” betrachtet wird, und diesen Zustand anzeigen.
  • Das System der vorliegenden Offenbarung enthält in einer Ausführungsform einen Aufforderungscharakter, der einen Benutzer in die Lage versetzt, bei 128 zum Beispiel einen anderen Entwurf eines Artefakts auszuwählen und/oder anzuzeigen als einen Entwurf, der vom System gewählt wurde. Die Methodiken in einer Ausführungsform der vorliegenden Offenbarung ermöglichen Benutzern zu verstehen und zu steuern, wie sich Artefakte im Lauf der Zeit unabhängig voneinander und in Beziehung zueinander entwickeln. Betrachtet wird ein Beispiel, in dem der Benutzer den Entwurf X von Artefakt 1 als den zeitbezogenen Referenzpunkt auswählt und der eine Verknüpfung zum Entwurf Y von Artefakt 2 hat, sodass das System den Entwurf Y anzeigt. An diesem Punkt möchte sich der Benutzer zum Beispiel eventuell Entwurf Y – 1 und/oder Y + 1 von Artefakt 2 ansehen, um dessen Entwicklung vor und nach der Erstellung der Verfolgbarkeitsverknüpfung besser zu verstehen. Der Benutzer kann dies zum Beispiel unter Verwendung eines Zeitachsen-Widgets tun, das eine Navigation zwischen den verschiedenen Entwürfen von Artefakt 2 gestattet.
  • Bei 130 wird für den Benutzer eine Option bereitgestellt, einen Entwurf zu bearbeiten, der kein neuester Entwurf in einem Entwurfbaum eines Artefakts ist, um eine neue Verzweigung in einem Entwurfbaum eines Artefakts zu erstellen, wobei das Startdatum einer neuen Verzweigung eines Artefakts ein Zustand eines Artefakts in dem Entwurf ist, von dem aus die neue Verzweigung erstellt wird.
  • Bei 132 kann der Benutzer in die Lage versetzt werden, unter Verwendung eines Aufforderungscharakters, der ein Durchqueren einer Artefaktentwurfsgrafik ermöglicht, zu einem (Ziel-)Artefakt zu navigieren, das sich in einer Verfolgbarkeitsgrafik eines ersten Artefaktentwurfs (Quelle) befindet, wobei die Kanten in einer Artefaktentwurfsgrafik Verfolgbarkeitsverknüpfungen sind.
  • Bei 134 kann der Benutzer den Entwurf des (Ziel-)Artefakts anzeigen, zu dem die Verfolgbarkeitsverknüpfung erstellt wurde und/oder den Entwurf des (Ziel-)Artefakts, der seinen Zustand an dem aktuellen zeitbezogenen Referenzpunkt darstellt.
  • In den 1A bis 1B zeigen die Schritte 102, 104 und 106 ein Beispiel dafür, wie ein Artefaktentwurf und ein Befehlsstapel erstellt werden können. Die Schritte 108, 110 und 112 zeigen ein Beispiel dafür, wie eine Verfolgbarkeitsverknüpfung zwischen verschiedenen Artefakten oder Artefaktentwürfen erstellt werden kann. Schritt 114 zeigt, wie ein Benutzer einen Entwurf und einen zugehörigen Befehlsstapel anzeigen kann. Die Schritte 116, 118, 120, 122, 124, 126 und 128 zeigen Beispiele dafür, wie weitere Entwürfe, die mit einem ausgewählten Entwurf verknüpft sind, an einem von einem Benutzer wählbaren zeitbezogenen Referenzpunkt oder nahe an diesem zeitbezogenen Referenzpunkt angezeigt werden können. Schritt 130 zeigt ein Beispiel dafür, wie ein Benutzer einen Entwurf anzeigen und bearbeiten und eine neue Verzweigung in einem Entwurfbaum erstellen kann. Die Schritte 132 und 134 zeigen, wie ein Benutzer auf der Grundlage von Verfolgbarkeitsverknüpfungen durch verschiedene Entwürfe navigieren kann. Es sollte klar sein, dass diese Schritte nicht alle sofort zusammen oder in der gezeigten Reihenfolge ausgeführt werden müssen.
  • Das System der vorliegenden Offenbarung kann auch als „Zeitbezogenes Steuersystem” oder TCS (Temporal Control System) bezeichnet werden. 2 ist eine Systemdarstellung, die Komponenten des Systems der vorliegenden Offenbarung in einer Ausführungsform veranschaulicht. Ein TCS-Server 202 kann einen persistenten Speicher (Speichereinheit) für digitale Artefaktentwürfe 204 und Verfolgbarkeitsverknüpfungen und -eckpunkte 206 enthalten und stellt einen TCS-Service 208 zum Erstellen, Zugreifen auf und Verwalten von digitalen Artefaktentwürfen (einschließlich Befehlen) 204 und Verfolgbarkeitsverknüpfungen 206 bereit.
  • Ein Artefaktentwurf bezieht sich auf den Zustand eines Artefakts an einem Zeitpunkt. Ein Befehlsstapel enthält einen oder mehrere Befehle, die seit der ersten Erstellung dieses Entwurfs ausgegeben wurden, um seinen anfänglichen Inhalt/Zustand in seinen aktuellen Inhalt/Zustand umzuwandeln. Entwürfe können als „abgeschlossen” oder „bearbeitbar” bezeichnet werden. Zum Beispiel können Entwürfe bearbeitbar sein bis entweder der Benutzer sie explizit sperrt oder das System sie sperrt, um die logische Integrität der Artefaktgesamtheit zu bewahren. Wenn zum Beispiel mehr als ein untergeordneter Entwurf aus diesem Entwurf erstellt worden ist, sollte das System besser den Entwurf sperren statt dessen weitere Bearbeitung zuzulassen, die im Entwurfbaum des Artefakts einen komplizierten Ripple-Effekt (automatischen Berechnungseffekt) auslöst, der einen inkonsistenten Zustand des Baums verursachen kann. Ein abgeschlossener Entwurf ist einer, der nicht mehr bearbeitet werden kann. Allerdings kann auf seiner Grundlage ein neuer untergeordneter Entwurf erstellt werden. Eine bearbeitbare Version eines Entwurfs umfasst einen gegenwärtigen Zustand eines Artefakts sowie den Befehlsstapel, der den Zustand des übergeordneten Werts des Entwurfs in den Zustand umgewandelt hat, der durch den bearbeitbaren Entwurf erfasst wird. Wenn ein Entwurf „gesperrt” wird, wird er von „bearbeitbar” in „abgeschlossen” geändert. Sobald ein untergeordneter Entwurf aus einem abgeschlossen Entwurf erstellt wird, kann der abgeschlossene Entwurf in einer Ausführungsform der vorliegenden Offenbarung ohne das Löschen oder Aufheben der Verbindung der untergeordneten Entwürfe nicht mehr zurückgesetzt werden, um bearbeitbar zu sein.
  • Es kann mehr als ein Artefaktentwurf erstellt und verwaltet werden, der einem Artefakt zugehörig ist. Diese mehreren Entwürfe können von der Konzeption her einem Code mit mehreren Verzweigungen in einem Versionssteuerungssystem ähnlich sein. Ein bestimmter Entwurf in der Datenbank/dem persistenten Speicher wird eindeutig über seine Entwurfskennung (ID) identifiziert, die einmalig ist. Das Artefakt, von dem es ein Entwurf ist, hat ebenfalls eine eindeutige ID, und diese eindeutige Artefakt-ID wird zusammen mit dem Entwurf gespeichert. Somit können in einer Ausführungsform der vorliegenden Offenbarung ein Artefakt und zugehörige Entwürfe zum Beispiel entsprechend ihren eindeutigen IDs aufgezeichnet werden, über die alle zugehörigen Abfragen ausgeführt werden können.
  • Die Verfolgbarkeitsverknüpfung 206 stellt eine Inhaltserzeuger-Nutzer-Beziehung zwischen zwei Artefakten dar. Diese Beziehung kann durch eine einmalige Aktion vergegenständlicht werden, wie beispielsweise ein Ausschneiden und Einfügen, eine periodische Aktion wie beispielsweise das Auslösen/Abwickeln von Ereignissen, oder eine kontinuierliche Aktion wie die Bereitstellung/Inanspruchnahme von Energie. Eine Verfolgbarkeitsverknüpfung stellt eine definitive Verknüpfung zwischen zwei Artefakten dar. Die Quellen und Ziele dieser Verfolgbarkeitsverknüpfungen können spezielle Entwürfe (an einem speziellen zeitbezogenen Punkt) von speziellen Artefakten sein. Der Verfolgbarkeitseckpunkt 206 ist ein Erzeuger oder Nutzer am Ende einer Verfolgbarkeitsverknüpfung. Ein Eckpunkt identifiziert einen Artefaktentwurf und kann auch eine Verschiebung in den Befehlsstapel des identifizierten Artefakts identifizieren.
  • In der vorliegenden Offenbarung können Benutzer eine oder mehrere Personen oder automatisierte Systeme sein, die Artefakte anzeigen und/oder auf sie zugreifen und/oder sie bearbeiten. Der TCS-Service 208 kann ein oder mehrere Anwendungsprogramme und Schnittstellen enthalten, die es einem Benutzer 212 oder einem automatisierten System 214 wie einem weiteren Computerprogramm oder System gestatten, die Artefaktentwürfe 204 und die Verfolgbarkeitsverknüpfungen 206 zu erstellen, auf sie zuzugreifen und sie zu verwalten.
  • Aufforderungscharakter beziehen sich auf Module oder Programme oder dergleichen, mit denen Benutzer verschiedene Aktionen ausführen. Zu Aufforderungscharaktern gehören unter anderem, aber ohne darauf eingeschränkt zu sein:
    • – TCS-API: ein programmbezogenes Mittel, das von interaktiven Werkzeugen sowie von automatisierten Systemen zum Zugreifen auf und/oder Bearbeiten von Artefaktentwürfen verwendet wird.
    • – Artefakt-Viewer: ein Mittel zum Anzeigen des Zustands eines Artefaktentwurfs, sodass er von einem Menschen erkannt werden kann. Der von einem Viewer angezeigte Artefaktentwurf kann durch die in einem weiteren Aufforderungscharakter vorgenommene Auswahl bestimmt werden, wobei der weitere Aufforderungscharakter den zeitbezogenen Referenzpunkt bestimmt.
    • – Editorprogramm: ein Mittel, mit dem ein Benutzer den Zustand eines Artefakts ändert und dadurch Befehle und/oder Artefaktentwürfe erstellt.
    • – Navigation: ein Mittel, wie beispielsweise eine Zeitachse, ein Baum usw. zum:
    • – Erreichen und/oder Auswählen eines Artefaktentwurfs oder eines Punkts in einem Befehlsstapel eines Entwurfs zwischen zwei Entwürfen.
    • – Auswählen eines zeitbezogenen Referenzpunkts.
    • – Erreichen eines Verfolgbarkeitseckpunkts über eine Verfolgbarkeitsverknüpfung.
  • TCS-Werkzeuge und/oder TCS-aktivierte Werkzeuge können mehrere Aufforderungscharakter enthalten, die in einer einzelnen Benutzeroberfläche gruppiert sind, z. B. ein Werkzeug, das von Benutzern für die Interaktion mit dem TCS-Server 202 und/oder dem TCS-Service verwendet wird. TCS-aktivierte Werkzeuge 210 können zum Beispiel Texteditorprogramme, Grafikeditorprogramme, weitere Programme mit TCS-Funktionalität sein, z. B. als Plug-In, die eine Schnittstellenbildung mit dem TCS-Service 208 und/oder dem TCS-Server 202 gestatten. Zum Beispiel können ein TCS-aktiviertes Texteditorprogramm oder eine Textverarbeitungsanwendung automatisch bestimmen, dass ein TCS-Artefakt bearbeitet wird, und einen oder mehrere Befehle für einen Befehlsstapel erstellen, der dem Artefakt zugehörig ist, und eine Option zum Zuweisen des Artefakts als einen Artefaktentwurf anbieten.
  • 3 veranschaulicht ein Beispiel für ein Senden von Befehlen an ein TCS in einer Ausführungsform der vorliegenden Offenbarung. Ein automatisiertes System 314 kann Befehle an einen TCS-Service 308 senden, der ein Artefakt modifiziert oder ändert. Desgleichen kann ein Benutzer z. B. unter Verwendung von Aufforderungscharaktern manuell befehlserzeugende Aktionen auf TCS-aktivierten Werkzeugen 310 ausführen, um Änderungen an einem Artefakt vorzunehmen. TCS-aktivierte Werkzeuge können die befehlserzeugenden Aktionen in Befehle umwandeln, die an den TCS-Service 308 gesendet werden, um die Änderungen an dem Artefakt vorzunehmen. Das geänderte Artefakt kann als ein Artefaktentwurf 304 gesichert oder gespeichert werden und die Befehle (z. B. c1, c2, c3, c4, c5, ...) enthalten, die angewendet wurden, um den anfänglichen Zustand des Entwurfs in seinen aktuellen Zustand umzuwandeln.
  • 4 veranschaulicht ein Beispiel für ein Erstellen eines Artefaktentwurfs in einer Ausführungsform der vorliegenden Offenbarung. Ein automatisiertes System 414 kann einen Aufruf zum Erstellen eines Entwurfs von einem Artefakt an einen TCS-Service 408 senden. Desgleichen kann ein Benutzer z. B. unter Verwendung von Aufforderungscharaktern manuell anfordern, einen Entwurf auf TCS-aktivierten Werkzeugen 410 zu erstellen. Die TCS-aktivierten Werkzeuge 410 senden einen Aufruf zum Erstellen eines Entwurfs an den TCS-Service 408. Der TCS-Service 408 und der TCS-Server 402 erstellen einen Artefaktentwurf auf der Grundlage des Aufrufs. Der Aufruf kann Eingaben wie eine Artefaktkennung und eine Entwurfskennung enthalten. Das erstellte Artefakt kann in einer Ausführungsform der vorliegenden Offenbarung in dem TCS-Server 402 gespeichert werden.
  • Verschiedene Artefaktentwürfe 404, 406 können erstellt werden, die verschiedene Gruppen von Befehlen enthalten, die auf den vorherigen Artefaktzustand angewendet wurden. Auf diese Weise können Verzweigungen von Artefaktentwürfen erstellt werden. Als Beispiel wird eine Firma mit Niederlassungen im ganzen Land angenommen, die eine zweistufige Jahresurlaubsstrategie fährt: jeder Mitarbeiter erhält insgesamt 15 bezahlte Urlaubstage plus 5 zusätzliche Urlaubstage jede 5 Jahre, die er in der Firma gearbeitet hat. Von diesen 15 bezahlten Urlaubstagen sind 7 für das gesamte Land angesetzt, und die restlichen 8 Tage unterliegen der Kontrolle jedes regionalen Managers, der entweder feste Tage zuweist, an denen alle Mitarbeiter frei haben, oder den Mitarbeitern freistellt, diese 8 Tage nach ihrem Gutdünken zu verwenden. Das landesweite Urlaubsstrategiedokument kann das anfängliche Artefakt sein, das die oben beschriebene Strategie umreißt. Für jede Region des Landes erstellt der regionale Manager einen regionalen untergeordneten Entwurf, der weitere Informationen hinzufügt und angibt, wie die 8 Tage unter regionaler Kontrolle zugeordnet werden. Diese regionale Strategie kann sich von Jahr zu Jahr ändern, und somit können sich die untergeordneten Entwürfe im Lauf der Zeit ändern.
  • 5 veranschaulicht einen Beispielfolgeablauf zum Erstellen einer Verfolgbarkeitsverknüpfung, wie zum Beispiel am Element 108 in 1 angegeben. Ein Benutzer 502 kann unter Verwendung eines TCS-aktivierten Werkzeugs 506 Inhalt vom Entwurf x von Artefakt 1 (A1.Dx) zum Entwurf y Artefakt 2 (A2.Dy) 504 kopieren. Das TCS-aktivierte Werkzeug 506 kann einen TCS-Service 510 über das Hinzufügen der Verfolgbarkeitsverknüpfung (TL1) von A2.Dy (Ziel) zu A1.Dx (Quelle) in Schritt 508 benachrichtigen. Der TCS-Service 510 fügt die Verfolgbarkeitsverknüpfung z. B. in eine Datenbank 514 ein, auf die in 5 als TCS-DB verwiesen wird. Die Verfolgbarkeitsverknüpfung kann Werte für SourceArtifactID, TargetArtifactID, SourceDraftID, TargetDraftID enthalten, z. B. A1.ID,A2.ID,A1.Dx.ID,A2.Dy.ID wie gezeigt. Die Datenbank (z. B. TCS-DB) kann als der persistente Speicher für den TCS-Server dienen und stellt Abfragefunktionalitäten für alle darin gespeicherten Daten bereit.
  • 6 veranschaulicht einen Beispielfolgeablauf, der ein Szenario veranschaulicht, in dem ein Benutzer die Zustände verschiedener Artefakte anzeigen kann. Der Folgeablauf zeigt ein Öffnen von zwei Artefakten, die zwischen sich eine Verfolgbarkeitsverknüpfung aufweisen, ein Auswählen eines früheren Entwurfs von einem als den zeitbezogenen Referenzpunkt und ein Öffnen des entsprechenden Entwurfs des weiteren Artefakts. Der Benutzer kann den letzten Entwurf von Artefakt 1 bei 602 über ein TCS-aktiviertes Werkzeug öffnen, der das TCS-aktivierte Werkzeug bei 604 auslöst, um einen Inhalt A1.latest von einem TCS-Service abzurufen. Der TCS-Service ruft in Reaktion darauf den Inhalt A1.latest bei 606 zum Beispiel durch Abfrage von einer Datenbank ab, z. B. TCS-DB (z. B. SELECT ARTIFACT_CONTENT FROM ArtifactDrafts WHERE ARTIFACT_ID=AI.ID AND DRAFT_ID=A1.latest.ID). Die TCS-DB gibt den abgefragten Inhalt bei 608 an den TCS-Service zurück. Der TCS-Service gibt den Inhalt bei 610 an das TCS-aktivierte Werkzeug zurück. Desgleichen löst der Benutzer, der den letzten Entwurf von Artefakt 2 bei 612 öffnet, das TCS-aktivierte Werkzeug aus, um bei 614 den letzten Entwurf von Artefakt 2 (A2.latest) vom TCS-Service abzurufen, der wiederum den Inhalt bei 616 zum Beispiel durch eine Abfrage aus der Datenbank abruft (z. B. SELECT ARTIFACT_CONTENT FROM ArtifactDrafts WHERE ARTIFACT_ID=A2.ID AND DRAFT_ID=latest.ID). Die TCS-DB gibt A2.latest.content bei 618 an den TCS-Service zurück, der den Inhalt bei 620 an das TCS-aktivierte Werkzeug zurückgibt.
  • Ein Benutzer kann einen Aufforderungscharakter verwenden (z. B. eine für den Benutzer grafisch dargestellte Zeitachse), um zu einem früheren Entwurf von Artefakt 1 (A1) zu gelangen, der zum Beispiel bei 622 ein Öffnen dieses früheren Entwurfs, A1.latest-n (Entwurf letztes n von Artefakt 1) auslöst. Das TCS-aktivierte Werkzeug ruft bei 624 vom TCS-Service den Inhalt dieses Entwurfs ab, Inhalt A1.latest-n. Bei 626 ruft der TCS-Service den Inhalt von einer Datenbank, z. B. TCS-DB, beispielsweise durch eine Abfrage ab (z. B. SELECT ARTIFACT_CONTENT FROM ArtifactDrafts WHERE ARTIFACT_ID=A1.ID AND DRAFT_ID=latest-n.ID). Bei 628 gibt die TCS-DB A1.latest-n.content an den TCS-Service zurück. Bei 630 gibt der TCS-Service A1.latest-n.content an das TCS-aktivierte Werkzeug zurück.
  • Ein Benutzer kann A1.latest-n als zeitbezogenen Referenzpunkt einstellen. Bei 632 setzt ein Benutzer den zeitbezogenen Referenzpunkt auf A1.latest-n.CreationTime. Bei 634 kann das TCS-aktivierte Werkzeug über den TCS-Service auf Verfolgbarkeitsverknüpfungen zwischen A1.latest-n und A2 prüfen. Der TCS-Service fragt bei 636 die TCS-DB ab, um Entwürfe von weiteren Artefakten abzurufen, die an diesem zeitbezogenen Referenzpunkt verknüpft sind. Eine Beispielabfrage kann sein „SELECT * FROM TraceabilityLinks WHERE (SourceArtifactID=A1.ID and TargetArtifactID=A2 and SourceDraftID=latest-n.ID) or (SourceArtifactID=A12.ID and TargetArtifactID=A1 and TargetDraftID=latest-n.ID).” Als Ergebnis dessen werden weitere Entwürfe, die mit dem vom Benutzer gewählten zeitbezogenen Referenzpunkt verknüpft sind, bei 638 an den TCS-Service und danach bei 640 an das TCS-aktivierte Werkzeug zurückgegeben. Der Benutzer, der das Werkzeug verwendet, kann dann auf weitere Entwürfe, die mit dem vom Benutzer gewählten zeitbezogenen Referenzpunkt verknüpft sind, zugreifen und/oder diese anzeigen.
  • Bei 640 hat das Werkzeug eine Liste mit Verfolgbarkeitsverknüpfungen zwischen A1 und A2 empfangen. Die Darstellung zeigt ein Auswahlfeld („alt”, d. h. Alternativen). Die erste Auswahl – „keine Verfolgbarkeitsverknüpfung vorhanden” – bedeutet, dass es keine Verknüpfung zwischen A1 und A2 gibt. In diesem Fall kann der Benutzer benachrichtigt werden, dass es keine entsprechenden Entwürfe gibt, und die Folge endet. Die zweite Auswahl – „es gibt mindestens eine Verfolgbarkeitsverknüpfung” – bedeutet, dass eine Verknüpfung zwischen A1 und A2 vorhanden ist, sodass das Werkzeug die Schritte 642 bis 652 durchläuft, um den Entwurf von A2 (A2.latest-k) anzuzeigen, der dem zeitbezogenen Referenzpunkt entspricht (d. h. A1.latest-n.CreationTime), der vom Benutzer ausgewählt wurde. Zu beachten ist, dass die Werte von „k” in A2.latest-k und „n” in A1.latest-n nicht identisch sein müssen; zum Beispiel kann A2 7 Entwürfe (k = 7) seit dem zeitbezogenen Referenzpunkt gehabt haben, während A1 15 Entwürfe gehabt hat (n = 15).
  • Durch Auswählen eines zeitbezogenen Referenzpunkts aus der Perspektive eines Artefakts kann ein Benutzer den Zustand eines weiteren Artefakts zu demselben oder im Wesentlichen selben Zeitpunkt anzeigen. Wie oben erörtert, kann die Methodik der vorliegenden Offenbarung den Zustand des weiteren Artefakts auf der Grundlage von beispielsweise verschiedenen Kombinationen von Szenarien identifizieren. Zum Beispiel angenommen, dass die beiden Artefakte A und B sind, und dass eine Verfolgbarkeitsverknüpfung mit B als Quelle und A als Ziel vorhanden ist. Die folgenden verschiedenen Algorithmen können auf der Grundlage des Szenarios beim Auffinden der Eckpunkte für die Verknüpfung verwendet werden:
    • – Ein Benutzer wählt einen Entwurf von A als den Referenzpunkt, und dieser entspricht einem Entwurf von B. In diesem Szenario wird kein Ausführen/Zurückführen des Befehlsstapels für B benötigt.
    • – Ein Benutzer wählt einen Entwurf von A als den Referenzpunkt, und dieser entspricht nicht einem Entwurf von B. In diesem Szenario wird ein Ausführen/Zurückführen des Befehlsstapels für B möglicherweise benötigt.
    • – Ein Benutzer wählt einen Punkt zwischen zwei Entwürfen von A, irgendwo in einem Befehlsstapel zwischen zwei Entwürfen in der Historie von A, und dieser entspricht einem Entwurf von B. In diesem Szenario wird kein Ausführen/Zurückführen des Befehlsstapels für B benötigt.
    • – Ein Benutzer wählt einen Punkt zwischen zwei Entwürfen von A, irgendwo in einem Befehlsstapel zwischen zwei Entwürfen in der Historie von A, und dieser entspricht nicht einem Entwurf von B. In diesem Szenario wird ein Ausführen/Zurückführen des Befehlsstapels für B möglicherweise benötigt.
  • Als ein Beispiel-Verwendungsszenario für das System und/oder die Methodik der vorliegenden Offenbarung wird ein Beispielunternehmen (Unternehmen A) angenommen. Das Unternehmen A ist ein großes multinationales Unternehmen mit Tochtergesellschaften in allen Bereichen digitaler Medien – ein Musik-Label, CD-Produktion und -Vertrieb, Musik-Onlineverkäufe, mobile Nachrichten-Apps, Elektronik, Home-Entertainment-Systeme usw. Das Unternehmen A hat ein Data Warehouse, das Daten über ihre Kunden von allen Tochtergesellschaften zusammenträgt. Das Unternehmen A verwendet diese Daten produktübergreifend für Vertrieb und Marketing ihrer verschiedenen Produktlinien. Als Teil seiner eCommerce-Infrastruktur verfügt das Unternehmen A über einen Absatzchancen-Identifizierungsdienst (OIS – Opportunity Identifier Service), der eine Kombination aus Geschäftsregeln und vorhersagender Analyse verwendet, um die Informationen im Data Warehouse des Unternehmens A so aufzubereiten, dass Absatzchancen für den Verkauf höherwertiger Waren/zusätzlicher Waren identifiziert werden, wenn ein Kunde die Website besucht.
  • Der Entwicklungsprozess von betrieblichen Entscheidungen des Unternehmens A, wie z. B. diejenigen, die im OIS erfasst werden, funktioniert wie folgt:
    • – der Geschäftseigentümer legt Anforderungen in freiem Text fest;
    • – ein Wirtschaftsanalyst arbeitet mit dem Geschäftseigentümer zusammen, um ein Entscheidungsmodell zu erstellen, das die Geschäftslogik einschließlich Geschäftsvokabular, Regeln, erforderlichen Daten und Analyseverwendungen erfasst;
    • – die IT verbindet Umsetzungsartefakte mit jedem Aspekt des Entscheidungsmodells (ausführbare Regeln, Analysemodelle, betriebliche Daten usw.);
    • – die Entscheidung wird angewendet.
  • Zum Beispiel angenommen, dass ein OIS-Teamleiter (Person A), der mit Person B arbeitet, die zum Vertriebsteam des Unternehmens A gehört, ein Rootkit zu jeder CD und jeder mobilen Anwendung hinzufügt, die das Unternehmen A verkauft. Das Rootkit wird verwendet, um mehr Informationen darüber zu sammeln, welche Websites Kunden besuchen, um die Qualität der Identifizierung von Absatzchancen des OIS auf der Website des Unternehmens A zu verbessern. Ein Dokument wird geschrieben, das freien Text auf Geschäftsebene zum Beschreiben, welche neuen Informationen in der OIS-Datenbank aus den Daten erfasst werden, die durch das Rootkit gesammelt werden, und eine Beschreibung enthält, wie die Daten verwendet werden sollten, um Absatzchancen zu identifizieren.
  • In dem System der vorliegenden Offenbarung ist das Dokument ein neues Artefakt, das in einem TCS-aktivierten Texteditorprogramm erstellt/bearbeitet wird. Jedes Mal, wenn ein Benutzer ein Wort hinzufügt, löscht oder bearbeitet, wird dieser Vorgang durch das Editorprogramm an das TCS als ein Befehl gesendet, der zu dem Befehlsstapel des aktuellen Entwurfs dieses Dokuments im TCS hinzugefügt werden soll. In einer Ausführungsform der vorliegenden Offenbarung erstellt ein Einfügen in ein Dokument, das in dem TCS-aktivierten Texteditorprogramm bearbeitet wird, eine Verfolgbarkeitsverknüpfung mit dem Dokument als dem Verbraucher und der Verknüpfung, die in dem Text, in dem die Einfügung auftrat, auf die Verschiebung + Länge zeigt. Ein Kopieren aus dem Dokument erstellt eine Verfolgbarkeitsverknüpfung mit dem Dokument als dem Erzeuger und der Verknüpfung, die auf die Verschiebung + Länge zeigt, die kopiert wurde. TCS-aktivierte Editorprogramme tauschen Daten mit dem TCS aus, um in einer Ausführungsform der vorliegenden Offenbarung zusammen die Verfolgbarkeitsverknüpfung zu erstellen. Jeder verschiedene Typ von TCS-aktiviertem Client, ob ein Editorprogramm, ein Buildsystem oder Sonstiges kann selbstständig bestimmen, was einen Befehl darstellt und was einen neuen Entwurf darstellt.
  • Als Nächstes wird das OIS-Entscheidungsmodell bearbeitet, um verschiedene Elemente zu dem Modell hinzuzufügen. Die Bearbeitung des Modells löst in dem System der vorliegenden Offenbarung ein Hinzufügen von Befehlen zu dem Befehlsstapel des aktuellen Entwurfs des Entscheidungsmodells im TCS aus. Zum Beispiel können Definitionen zu dem Vokabular hinzugefügt werden, das dem Modell zugehörig ist. Jede Bearbeitung des Vokabulars wird als ein Befehl in dem Befehlsstapel des aktuellen Entwurfs des Vokabulars an das TCS gesendet. Sobald die neuen Vokabularbegriffe hinzugefügt sind, kann der Benutzer dies als einen neuen Entwurf des Vokabulars bezeichnen. Das OIS-Entscheidungsmodell kann auch bearbeitet werden, um neue untergeordnete Entscheidungen hinzuzufügen, die Geschäftsregeln enthalten, die diese Begriffe beim Verweisen auf Rootkit-Daten verwenden. Jedes Mal, wenn eine untergeordnete Entscheidung oder Regel hinzugefügt oder bearbeitet wird, sendet das Entscheidungsmodell-Editorprogramm einen neuen hinzuzufügenden Befehl an den Befehlsstapel des aktuellen Entwurfs des Entscheidungsmodells im TCS. Das OIS-Entscheidungsmodell kann ferner so bearbeitet werden, dass Aufrufe an Analysemodelle hinzugefügt werden, um die Wahrscheinlichkeit eines erfolgreichen Verkaufs höherwertiger Waren oder zusätzlicher Waren zu bestimmen. Diese Wahrscheinlichkeiten werden in den Geschäftsregeln verwendet. Wenn in einer Ausführungsform der vorliegenden Offenbarung spezifische Modelle entdeckt werden/auf diese verwiesen wird, kann an diesem Punkt eine Verfolgbarkeitsverknüpfung mit dem Entscheidungsmodell als dem Verbraucher und dem Analysemodell als dem Erzeuger erstellt werden. Wenn in einer Ausführungsform der vorliegenden Offenbarung nur eine Beschreibung vorhanden ist, welche Wahrscheinlichkeit auf der Grundlage welcher Gruppe von Variablen bestimmt werden muss, wird noch keine Verknüpfung erstellt.
  • Die IT-Gruppe des Unternehmens A kann dann das OIS-Datenbank-(DB)Schema aktualisieren, um die im freien Text beschriebenen Spalten aufzunehmen. Das Schema-Editorprogramm ist in einer Ausführungsform der vorliegenden Offenbarung TCS-aktiviert, und daher sendet jede Bearbeitung an das TCS einen Befehl, der zu dem Befehlsstapel des aktuellen Entwurfs hinzugefügt werden soll. Nachdem die Bearbeitung abgeschlossen ist, kann der Benutzer sie als einen neuen Entwurf bezeichnen.
  • Die IT-Gruppe des Unternehmens A kann zum Beispiel auch eine OIS-Analysebibliothek mit neuen Analysemodellen aktualisieren, welche die neuen Spalten zum Bestimmen von Wahrscheinlichkeiten verwenden, ob ein Kunde ein bestimmtes Angebot annimmt. In einer Ausführungsform der vorliegenden Offenbarung kann jedes Analysemodell sein eigenes Artefakt sein, und die Analysebibliothek kann ein zusammengesetztes Artefakt sein, möglicherweise ein Binärprogramm, das aus einer Gruppe von Analysemodellen erstellt wurde. Bearbeitungen an Modellen erstellen Befehle in den Befehlsstapeln ihrer Entwürfe, und Builds (Erstellen oder Hinzufügen) der Bibliothek erstellen ebenfalls einen neuen Entwurf der Bibliothek in einer Ausführungsform der vorliegenden Offenbarung.
  • Die IT-Gruppe des Unternehmens A kann auch die Analysereferenzen des Entscheidungsmodells mit den neuen Analysemodellen verbinden. Dies wird durch Bearbeitungen an dem Entscheidungsmodell erreicht, die neue Befehle in dem Befehlsstapel des Entscheidungsmodell-Artefakts erstellen können, und die auch einen neuen Entwurf erstellen können.
  • Der OIS wird durch das ausführbare Entscheidungsmodell, die Analysemodelle, das neue DB-Schema aktualisiert und beginnt somit, die durch das Rootkit gesammelten Daten zum Identifizieren neuer Absatzchancen zu verwenden. Wenn das Buildsystem TCS-aktiviert ist, werden neue Builds als neue Entwürfe des Anwendungs-/Service-Binärprogramms betrachtet, und das Hinzufügen/Aktualisieren von Quellen, aus denen das Binärprogramm aufgebaut ist, wird als Befehle betrachtet.
  • Zu einem späteren Zeitpunkt beschließt der OIS-Teamleiter (z. B. Person A), einigen freien Text auf Geschäftsebene in dem Dokument anders zu formulieren, der die Funktionalität dieses neuen OIS-Merkmals beschreibt. In Reaktion darauf sendet das TCS-aktivierte Texteditorprogramm (das die Person A zum Umformulieren des freien Texts verwendet), Befehle und Entwürfe an das TCS. Nach der Bearbeitung des freien Texts verwendet die Person A Verfolgbarkeitsverknüpfungen zwischen dem freien Text, dem Entscheidungsmodell, dem Geschäftsvokabular, den Datenbankspalten und den variablen Analysemodellnamen, um schnell jede Ausdruckweise bzw. die Namen zu finden und zu ändern, die ebenfalls anders formuliert werden müssen. Zum Beispiel kann die Person A einen Aufforderungscharakter (wie beispielsweise einen Baum) verwenden, um die Graphen von Artefakten anzuzeigen, die mit dem Dokument über Verfolgbarkeitsverknüpfungen verbunden sind, und navigiert über die Verknüpfungen zu dem genauen Speicherort in diesen Artefakten, die die Sprache/Namen verwenden, die er in dem Dokument geändert hat. In einer Ausführungsform der vorliegenden Offenbarung wird jedes Artefakt in seinem jeweiligen TCS-aktivierten Editorprogramm geöffnet. Die Person A bearbeitet die Artefakte, erstellt somit eine Serie von Befehlen und schließlich neue Entwürfe jedes Artefakts und verwendet/verbreitet die neuen Entwürfe als geeignet.
  • In dem Fall, dass das Unternehmen A beschließt, das Rootkit zu entfernen und zu dem OIS-Entscheidungsmodell zurückzukehren, bevor das Rootkit darin integriert wurde, können das TCS und die TCS-aktivierten Systeme und Werkzeuge verwendet werden, indem der Entwurf des OIS-Entscheidungsmodells von dem Tag vor den Änderungen der Person A gewählt wird und als der zeitbezogene Referenzpunkt eingestellt wird. Auf diese Weise ist das Unternehmen A in der Lage, die Entwürfe der OIS-Entscheidungsmodelle, des OIS-Build, der Analysebibliothek und des DB-Schemas sofort zu identifizieren, die Änderungen vorausgingen, die für ein Konzept der Person A relevant sind, und das OIS ohne irgendwelche Rootkit-Merkmale wiederherzustellen. In einer Ausführungsform der vorliegenden Offenbarung kann ein Aufforderungscharakter (wie beispielsweise eine Zeitachse) verwendet werden, um zu dem Entwurf des OIS-Entscheidungsmodells zu navigieren, der vor den Änderungen der Person A vorhanden war, und diesen Entwurf des Entscheidungsmodells als den zeitbezogenen Referenzpunkt einzustellen. TCS-Werkzeug- oder Benutzer-Oberflächenelemente wie Schaltflächen auf einer Symbolleiste können zum Ausführen derartiger Aktionen verwendet werden. Ein weiterer Aufforderungscharakter (wie beispielsweise ein Baum) kann verwendet werden, um alle Artefakte auszuwählen, die Verfolgbarkeitsverknüpfungen zu/von dem Entscheidungsmodell haben, alle zurück zu dem zeitbezogenen Referenzpunkt zu rollen und den OIS neu zu erstellen und erneut zu verwenden.
  • Mit dem System und der Methodik der vorliegenden Offenbarung lässt sich der Ablauf einer Aktion rückgängig machen, die für ein Artefakt vorgenommen wurde. Entsprechende Aktionen zum Rückgängigmachen können an verschiedenen Artefakten (z. B. zwei Textverarbeitungsdokumenten, drei Tabellendokumenten und einem Wiki) in beispielsweise einem Vorgang vorgenommen werden, indem eine Artefaktgesamtheit zu einem vorherigen Zeitpunkt zurückgeführt wird. Die Verfolgbarkeitsverknüpfungen von Artefakten verwalten auch die Historie von Korrelationen und das Vorhandensein von Quellen-Ziel-Beziehungen, wenn z. B. Entwurf x von Artefakt y zum Zeitpunkt z erstellt wurde. In Wechselbeziehung zueinander stehende Artefakte können an einem bestimmten zeitbezogenen Referenzpunkt verfolgt werden. Das System und die Methodik der vorliegenden Offenbarung stellen auch die Fähigkeit des Benutzers bereit, die komplette Artefaktgesamtheit in ihren Zustand an einem bestimmten zeitbezogenen Referenzpunkt zu verschieben.
  • Bekannte Versionssteuerungssysteme sind in ihrer Gruppierung von Artefakten in ein Tag/eine Version/einen Snapshot streng hierarchisch; die Fähigkeit, alle Artefakte an einem zeitbezogenen Referenzpunkt interaktiv anzuzeigen und zu bearbeiten, ohne einen Tag/eine Version/einen Snapshot über die gesamte umgebende Hierarchie übergreifend erstellen zu müssen, existiert nicht. Die Fähigkeit, zwischen verbundenen Artefakten zu navigieren und ihre Zustände zum Verbindungszeitpunkt anzuzeigen, ohne einen Tag/eine Version/einen Snapshot über die gesamte umgebende Hierarchie übergreifend erstellen zu müssen, existiert nicht.
  • Das System der vorliegenden Offenbarung kann in einer Ausführungsform gut funktionieren, wenn eine Gruppe von Artefakten sich zusammen in einem System befindet oder in unterschiedlichen Systemen verteilt ist. Zum Beispiel kann das System als verteiltes Versionssteuerungssystem DVCS (Distributed Version Control System) verwendet werden. Das System der vorliegenden Offenbarung löst in einer Ausführungsform ein Prüfpunktproblem für verteilte Kompensation oder Zurückführung. Das System der vorliegenden Offenbarung stellt in einer Ausführungsform eine Zeitmaschine für ein Debugging von parallelen/Multithread-Anwendungen bereit, stellt eine Rückführungsfunktion für die Zeit bereit. Das System der vorliegenden Offenbarung ermöglicht einem Benutzer in einer Ausführungsform, sich zum Beispiel auf der Grundlage von zeitbezogenen Referenzpunkten zeitübergreifend durch eine Artefaktgesamtheit zu bewegen. Das System und die Methodik der vorliegenden Offenbarung kann in einer Ausführungsform in Verbindung mit vorhandenen Versionssteuerungs- oder ähnlichen Systemen verwendet werden.
  • 7 veranschaulicht eine schematische Darstellung eines beispielhaften Computer- oder Verarbeitungssystems, welches das zeitbezogene Steuersystem in einer Ausführungsform der vorliegenden Offenbarung umsetzen kann. Das Computersystem ist nur ein Beispiel für ein geeignetes Verarbeitungssystem und soll keinerlei Einschränkung in Bezug auf den Schutzumfang der Verwendung oder Funktionalität von Ausführungsformen der hierin beschriebenen Methodik andeuten. Das gezeigte Verarbeitungssystem kann mit zahlreichen weiteren Umgebungen oder Konfigurationen für Universal- oder Sonder-Datenverarbeitungssysteme betriebsfähig sein. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem in 7 gezeigten Verarbeitungssystem geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt.
  • Das Computersystem kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Speichereinheiten enthalten.
  • Die Komponenten des Computersystems können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 12, einen Systemarbeitsspeicher 16 und einen Bus 14 enthalten, der verschiedene Systemkomponenten einschließlich des Systemarbeitsspeichers 16 mit dem Prozessor 12 verbindet, sie sind aber nicht darauf beschränkt. Der Prozessor 12 kann ein zeitbezogenes Steuermodul 10 enthalten, das hierin beschriebene Serviceverfahren für zeitbezogene Steuerung ausführt. Das Modul 10 kann in die integrierten Schaltungen des Prozessors 12 programmiert oder vom Arbeitsspeicher 16, einer Speichereinheit 18 oder einem Netzwerk 24 oder Kombinationen davon geladen werden.
  • Der Bus 14 kann einen oder mehrere von mehreren beliebigen Typen von Busstrukturen darstellen, einschließlich eines Arbeitsspeicherbusses oder Arbeitsspeicher-Controllers, eines Peripheriebusses, eines beschleunigten Grafikanschlusses und eines Prozessors oder lokalen Busses unter Verwendung von einer aus einer Vielfalt von Busarchitekturen. Als Beispiel und nicht einschränkend enthalten derartige Architekturen einen Industry Standard Architecture-(ISA)Bus, Micro Channel Architecture-(MCA)Bus, Enhanced ISA-(EISA)Bus, einen lokalen Video Electronics Standards Association-(VESA)Bus und Peripheral Component Interconnects-(PCI)Bus.
  • Das Computersystem kann eine Vielfalt von Medien aufweisen, die von einem Computersystem gelesen werden können. Derartige Medien können alle verfügbaren Medien sein, auf die von dem Computersystem zugegriffen werden kann, und sie können sowohl flüchtige als auch nicht-flüchtige Medien, austauschbare und nicht-austauschbare Medien enthalten.
  • Der Systemarbeitsspeicher 16 kann vom Computersystem lesbare Medien in der Form von flüchtigem Arbeitsspeicher enthalten wie beispielsweise einen Direktzugriffspeicher (RAM) und/oder einen Cache-Zwischenspeicher oder Sonstige. Das Computersystem kann ferner weitere austauschbare/nicht-austauschbare, flüchtige/nicht-flüchtige Computersystem-Speichermedien enthalten Nur als Beispiel kann das Speichersystem 18 für ein Lesen von und ein Schreiben auf nicht-austauschbare, nicht-flüchtige Magnetdatenträger bereitgestellt werden (z. B. eine „Festplatte”). Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk für ein Auslesen und Beschreiben einer austauschbaren, nicht-flüchtigen Magnetplatte (z. B. eine Diskette) und ein optisches Plattenlaufwerk für ein Auslesen oder Beschreiben einer austauschbaren, nicht-flüchtigen optischen Platte wie einem CD-ROM, DVD-ROM oder andere optische Datenträger bereitgestellt werden. In solchen Fällen können alle über eine oder mehrere Datenträgerschnittstellen mit dem Bus 14 verbunden werden.
  • Das Computersystem kann auch mit einer oder mehreren externen Einheiten 26 Daten austauschen, wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 28 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem zu interagieren; und/oder allen Einheiten (z. B. Netzwerkkarte, Modem usw.), die es dem Computersystem ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe-/Ausgabe-(E/A)Schnittstellen 20 erfolgen
  • Außerdem kann das Computersystem mit einem oder mehreren Netzwerken 24, wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet), über einen Netzwerkadapter 22 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 22 Daten mit den anderen Komponenten des Computersystems über den Bus 14 aus. Es sollte klar sein, dass, obwohl nicht gezeigt, andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem verwendet werden könnten. Beispiele dafür, ohne darauf beschränkt zu sein, sind: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Wie einem Fachmann klar sein wird, können Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte der vorliegenden Erfindung in der Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, auf die alle hierin allgemein als „Schaltung”, „Modul” oder „System” Bezug genommen werden kann. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darin ausgeführten computerlesbaren Programmcode verkörpert ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu spezielleren Beispielen (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würde Folgendes zählen: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer CD-ROM, eine optische Speichereinheit, eine Magnetspeichereinheit oder jede geeignete Kombination des Vorgenannten. In dem Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes konkrete Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode enthalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein derartiges verbreitetes Signal kann jede einer Vielfalt von Formen annehmen, einschließlich elektromagnetisch, optisch oder jede geeignete Kombination davon, es ist aber nicht darauf beschränkt. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung übertragen, verbreiten oder transportieren kann.
  • In einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes geeigneten Mediums übertragen werden, einschließlich drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, HF usw. oder eine geeignete Kombination des Vorgenannten, er ist aber nicht darauf beschränkt.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmlichen prozeduralen Programmiersprachen wie der Programmiersprache „C” oder ähnlichen Programmiersprachen, einer Scripting-Sprache wie Perl, VBS oder ähnlichen Sprachen und/oder Funktionssprachen wie Lisp und ML und logikorientierten Sprachen wie Prolog. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden sein, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters).
  • Aspekte der vorliegenden Erfindung werden unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern und Kombinationen von Blöcken in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen erstellen, die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegeben sind.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand erzeugen, einschließlich Anweisungen, die die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegebene Funktion/Handlung umsetzen.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten geladen werden, um die Ausführung einer Serie von Arbeitsschritten auf dem Computer, einer anderen Vorrichtung, die programmierbare Daten ausführt, oder anderen Einheiten zu veranlassen, um einen über den Computer umgesetzten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Handlungen bereitstellen, die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegeben sind.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Diesbezüglich kann jeder Block in dem Ablaufplan oder in den Blockschaubildern ein Modul, ein Segment oder einen Codeabschnitt darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Es ist ebenfalls anzumerken, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge auftreten können als in den Figuren angegeben. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es wird ebenfalls angemerkt, dass jeder Block in den Blockschaubildern und/oder in der Veranschaulichung des Ablaufplans und Kombinationen von Blöcken in den Blockschaubildern und/oder der Veranschaulichung des Ablaufplans durch spezielle Systeme auf der Grundlage von Hardware, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
  • Das Computerprogrammprodukt kann alle jeweiligen Funktionen aufweisen, die die Umsetzung der hierin beschriebenen Methodik ermöglichen, und die – wenn sie in ein Computersystem geladen werden – fähig sind, die Verfahren auszuführen. Computerprogramm, Software-Programm, Programm oder Software bedeuten in dem gegenwärtigen Kontext jeden Ausdruck, in jeder Sprache, jeden Code oder jede Schreibweise von einer Gruppe von Anweisungen, die dazu bestimmt sind, ein System mit einer Fähigkeit zur Informationsverarbeitung zu veranlassen, eine bestimmte Funktion entweder direkt oder nach einem oder beidem des Folgenden auszuführen: (a) Konvertierung in eine andere Sprache, einen anderen Code oder eine andere Schreibweise; und/oder (b) Wiedergabe in einer anderen Materialform.
  • Die hierin verwendete Terminologie dient nur zum Zweck der Beschreibung von bestimmten Ausführungsformen und soll die Erfindung keinesfalls einschränken. Die hierin verwendeten Singularformen „ein”, „eine” und „der/die/das” sollen auch die Pluralformen mit einschließen, es sei denn, der Kontext gibt eindeutig anderes vor. Es versteht sich des Weiteren, dass die Begriffe „weist auf” und/oder „aufweisend” bei Verwendung in dieser Patentschrift das Vorhandensein ausgewiesener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon aber nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Entsprechungen aller Mittel oder Schritt-plus-Funktion-Elemente, in den nachstehenden Ansprüchen sollen, sofern vorhanden, alle Strukturen, Materialien oder Handlungen zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen enthalten, wie speziell beansprucht. Die Beschreibung der vorliegenden Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung erstellt, sie soll aber keineswegs erschöpfend oder auf die Erfindung in der offenbarten Form eingeschränkt sein. Für Fachleute sind viele Modifizierungen und Variationen offenkundig, ohne von dem Schutzbereich und dem Erfindungsgedanken der Erfindung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung am besten zu erklären und es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifizierungen zu verstehen, die für die vorgesehene bestimmte Verwendung geeignet sind.
  • Verschiedene Aspekte der vorliegenden Offenbarung können als ein Programm, eine Software oder Computeranweisungen verkörpert sein, die in einem Computer oder einem von Maschinen verwendbaren oder lesbaren Medium verkörpert sind, das den Computer oder die Maschine veranlasst, die Schritte des Verfahrens beim Ausführen auf dem Computer, dem Prozessor und/oder der Maschine auszuführen. Eine Programmspeichereinheit, die von einer Maschine lesbar ist und konkret ein Programm von Anweisungen verkörpert, die durch die Maschine ausführbar sind, um verschiedene Funktionen und Verfahren auszuführen, die in der vorliegenden Offenbarung beschrieben werden, wird ebenfalls bereitgestellt.
  • Das System und Verfahren der vorliegenden Offenbarung kann auf einem Mehrzweckcomputer oder einem Spezialcomputersystem umgesetzt und ausgeführt werden. Die Begriffe „Computersystem” und „Computernetzwerk”, wie sie in der vorliegenden Anmeldung verwendet werden, können eine Vielfalt von Kombinationen stationärer und/oder tragbarer Computer-Hardware, Software, Peripherie- und Speichereinheiten enthalten. Das Computersystem kann eine Mehrzahl von einzelnen Komponenten enthalten, die vernetzt oder anderweitig verbunden sind, um gemeinsam zu arbeiten, oder es kann eine oder mehrere eigenständige Komponenten enthalten. Die Hardware- und Software-Komponenten des Computersystems der vorliegenden Anmeldung können stationäre und tragbare Einheiten wie Desktop, Laptop und/oder Server enthalten oder darin enthalten sein. Ein Modul kann eine Komponente einer Einheit, eine Software, ein Programm oder System sein, das einige „Funktionalität” umsetzt, die als Software, Hardware, Firmware, elektronische Schaltung usw. verkörpert sein kann.
  • Die oben beschriebenen Ausführungsformen sind veranschaulichende Beispiele, und die vorliegende Erfindung sollte nicht so ausgelegt werden, dass sie auf diese bestimmten Ausführungsformen begrenzt ist. Somit können verschiedene Änderungen und Modifizierungen von einem Fachmann vorgenommen werden, ohne vom Erfindungsgedanken oder Schutzumfang der Erfindung abzuweichen, wie sie in den Ansprüchen im Anhang definiert wird.

Claims (23)

  1. System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt, das aufweist: einen oder mehrere Artefaktentwürfe, die jedem einer Mehrzahl von Artefakten zugehörig sind, wobei der eine oder die mehreren Artefaktentwürfe einen Zustand des zugehörigen Artefakts an einem Zeitpunkt und einen oder mehrere Befehle in einem Befehlsstapel darstellen, die einen direkten Vorgänger jedes Artefaktentwurfs in den Entwurf jedes Artefakts umgewandelt haben; eine Mehrzahl von Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkten, die Verbindungen zwischen dem einen oder den mehreren Artefaktentwürfen der Mehrzahl von Artefakten darstellen, wobei eine Verfolgbarkeitsverknüpfung eine Kante zwischen einem Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und einem Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten enthält, wobei der Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten und der Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten die Verfolgbarkeitseckpunkte bilden; einen Prozessor; und ein Modul, das betriebsfähig ist, um auf dem Prozessor ausgeführt zu werden und von einem zeitbezogenen Referenzpunkt aus über die Mehrzahl von Verfolgbarkeitsverknüpfungen durch das eine oder die mehreren Artefakte der Mehrzahl von Artefakten zu navigieren.
  2. System nach Anspruch 1, das ferner einen Server enthält, der den einen oder die mehreren Artefaktentwürfe und die Mehrzahl von Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkten speichert.
  3. System nach Anspruch 1, wobei das Modul ferner betriebsfähig ist, um den einen oder die mehreren Artefaktentwürfe und die Mehrzahl von Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkten zu erstellen.
  4. System nach Anspruch 1, wobei die Verfolgbarkeitsverknüpfungen und Verfolgbarkeitseckpunkte automatisch in Reaktion auf eine Aktion erstellt werden, die an dem Artefaktentwurf eines Artefakts in der Mehrzahl von Artefakten ausgeführt wird, bei der auf den Artefaktentwurf eines weiteren Artefakts in der Mehrzahl von Artefakten zugegriffen wird.
  5. System nach Anspruch 1, wobei das Modul eine Benutzeroberfläche aufweist, die einem Benutzer ermöglicht, den zeitbezogenen Referenzpunkt auszuwählen und Ansichten der Artefaktentwürfe darzustellen.
  6. System nach Anspruch 5, wobei das Modul ferner die Artefaktentwürfe darstellt, durch die ausgehend von dem zeitbezogenen Referenzpunkt über die Benutzeroberfläche navigiert wird.
  7. System nach Anspruch 1, wobei das Modul ferner betriebsfähig ist, den einen oder die mehreren Artefaktentwürfe auf Grundlage von empfangenen Befehlen zu modifizieren.
  8. System nach Anspruch 1, wobei das Modul ferner eine Anwendungsschnittstelle aufweist, über die ein oder mehrere Befehle zum Bearbeiten des einen oder der mehreren Artefaktentwürfe empfangen werden.
  9. System nach Anspruch 1, wobei das Modul ferner betriebsfähig ist, um eine neue Artefaktentwurf-Verzweigung zu erstellen, indem ein neuer Artefaktentwurf aus einem Artefaktentwurf erstellt wird, der kein letzter Entwurf ist, wobei ein Anfangsdatum der neuen Verzweigung eines Artefaktentwurfs ein Zustand eines Artefakts in einem Entwurf ist, von dem aus die neue Verzweigung erstellt wird.
  10. Verfahren zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt, das aufweist: Empfangen eines Befehls, der ein erstes Artefakt bearbeitet; Hinzufügen eines Zeitstempels zu dem Befehl; Speichern des Befehls in einem Befehlsstapel; Speichern eines aktuellen Zustands des ersten Artefakts und des Befehlsstapels als einen Artefaktentwurf; und in Reaktion auf ein Feststellen, dass der Befehl eine Aktion ist, die auf ein zweites Artefakt zugreift, Erstellen einer Verfolgbarkeitsverknüpfung zwischen dem Artefaktentwurf und einem zweiten Artefaktentwurf, der dem zweiten Artefakt zugehörig ist.
  11. Verfahren nach Anspruch 10, das ferner ein Zuweisen des aktuellen Zustands des ersten Artefakts als einen neuen Artefaktentwurf enthält.
  12. Verfahren nach Anspruch 10, wobei die Schritte für eine Mehrzahl von Artefakten wiederholt werden, und wobei eine Mehrzahl von Artefaktentwürfen und eine zugehörige Mehrzahl von Verfolgbarkeitsverknüpfungen für jede der Mehrzahl von Artefakten erzeugt wird.
  13. Verfahren nach Anspruch 12, das ferner enthält: Empfangen eines ausgewählten Artefaktentwurfs, wobei der ausgewählte Artefaktentwurf einen zeitbezogenen Referenzpunkt darstellt; Suchen der Verfolgbarkeitsverknüpfung und Verfolgbarkeitseckpunkte, um einen oder mehrere weitere Artefaktentwürfe zu finden, die mit dem ausgewählten Artefaktentwurf verknüpft sind; Darstellen des ausgewählten Artefaktentwurfs und des einen oder der mehreren weiteren Artefaktentwürfe, wenn der eine oder die mehreren weiteren Artefaktentwürfe Zeitstempel haben, die dem zeitbezogenen Referenzpunkt entsprechen.
  14. Verfahren nach Anspruch 13, das ferner aufweist: wenn der eine oder die mehreren weiteren Artefaktentwürfe keine Zeitstempel aufweisen, die dem zeitbezogenen Referenzpunkt entsprechen, Auswählen eines Befehlspunkts aus einem dem einen oder den mehreren weiteren Artefaktentwürfen zugehörigen Befehlsstapel, der einen Zeitstempel aufweist, der dem zeitbezogenen Referenzpunk am nächsten liegt; Zurückführen oder Wiederholen von einem oder mehreren Befehlen in dem Befehlsstapel ab dem Befehlspunkt, um einen Zustand des einen oder der mehreren weiteren Artefakte zu erzeugen; und Darstellen des erzeugten Zustand des einen oder der mehreren weiteren Artefakte.
  15. Verfahren nach Anspruch 12, das ferner enthält: Empfangen eines Punkts in dem Befehlsstapel zwischen zwei Artefaktentwürfen, wobei der Punkt in dem Befehlsstapel einen zeitbezogenen Referenzpunkt darstellt; Auswählen eines Artefaktentwurfs aus den beiden Artefaktentwürfen, der dem Punkt in dem Befehlsstapel zeitlich am nächsten liegt; Suchen der Verfolgbarkeitsverknüpfung und Verfolgbarkeitseckpunkte, um einen weiteren oder mehrere weitere Artefaktentwürfe zu finden, die mit dem ausgewählten Artefaktentwurf verknüpft sind; wenn der eine weitere oder die mehreren weiteren Artefaktentwürfe einen Zeitstempel haben, der dem zeitbezogenen Referenzpunkt entspricht, Darstellen des weiteren einen oder der mehreren weiteren Artefaktentwürfe; und wenn der weitere eine oder die mehreren weiteren Artefaktentwürfe einen Zeitstempel haben, der dem zeitbezogenen Referenzpunkt entspricht, Auswählen eines Befehlspunkts aus einem dem einen oder den mehreren weiteren Artefaktentwürfen zugehörigen Befehlsstapel, der einen Zeitstempel hat, der dem zeitbezogenen Referenzpunk am nächsten liegt; Zurückführen oder Wiederholen von einem oder mehreren Befehlen in dem Befehlsstapel ab dem Befehlspunkt, um einen Zustand des einen oder der mehreren weiteren Artefakte zu erzeugen, der mit dem Punkt in dem Befehlsstapel zwischen zwei Artefaktentwürfen in Beziehung steht; und Darstellen des erzeugten Zustand des einen oder der mehreren weiteren Artefakte.
  16. Verfahren nach Anspruch 12, das ferner aufweist: Bearbeiten eines Artefaktentwurfs, der kein letzter Artefaktentwurf ist, der einem Artefakt zugehörig ist; und Erstellen einer neuen Artefaktentwurfs-Verzweigung beginnend ab dem bearbeiteten Artefaktentwurf.
  17. Computerlesbares Speichermedium, das ein Programm von Anweisungen speichert, die von einer Maschine ausführbar sind, um ein Verfahren zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt auszuführen, das aufweist: Empfangen eines Befehls, der ein erstes Artefakt bearbeitet; Hinzufügen eines Zeitstempels zu dem Befehl; Speichern des Befehls in einem Befehlsstapel; Speichern eines aktuellen Zustands des ersten Artefakts und des Befehlsstapels als einen Artefaktentwurf; und in Reaktion auf ein Erkennen, dass der Befehl eine Aktion ist, die auf ein zweites Artefakt zugreift, Erstellen einer Verfolgbarkeitsverknüpfung zwischen dem Artefaktentwurf und einem zweiten Artefaktentwurf, der dem zweiten Artefakt zugehörig ist.
  18. Computerlesbares Speichermedium nach Anspruch 17, das ferner ein Zuweisen des aktuellen Zustands des ersten Artefakts als einen neuen Artefaktentwurf aufweist.
  19. Computerlesbares Speichermedium nach Anspruch 17, wobei die Schritte für eine Mehrzahl von Artefakten wiederholt werden, und wobei eine Mehrzahl von Artefaktentwürfen und eine zugehörige Mehrzahl von Verfolgbarkeitsverknüpfungen für jede der Mehrzahl von Artefakten erzeugt wird.
  20. Computerlesbares Speichermedium nach Anspruch 19, das ferner aufweist: Empfangen eines ausgewählten Artefaktentwurfs, wobei der ausgewählte Artefaktentwurf einen zeitbezogenen Referenzpunkt darstellt; Suchen der Verfolgbarkeitsverknüpfung und Verfolgbarkeitseckpunkte, um einen weiteren oder mehrere weitere Artefaktentwürfe zu finden, die mit dem ausgewählten Artefaktentwurf verknüpft sind; und Darstellen des ausgewählten Artefaktentwurfs und eines oder mehrerer weiterer Artefaktentwürfe zu demselben zeitbezogenen Referenzpunkt, wenn der eine oder mehrere weitere Artefaktentwürfe vorhanden sind.
  21. Computerlesbares Speichermedium nach Anspruch 20, das ferner enthält: wenn der eine oder die mehreren weiteren Artefaktentwürfe keine Zeitstempel aufweisen, die dem zeitbezogenen Referenzpunkt entsprechen, Auswählen eines Befehlspunkts aus einem dem einen oder den mehreren weiteren Artefaktentwürfen zugehörigen Befehlsstapel, der einen Zeitstempel hat, der dem zeitbezogenen Referenzpunk am nächsten liegt; Zurückführen oder Wiederholen von einem oder mehreren Befehlen in dem Befehlsstapel ab dem Befehlspunkt, um einen Zustand des einen oder der mehreren weiteren Artefakte zu erzeugen; und Darstellen des erzeugten Zustand des einen oder der mehreren weiteren Artefakte.
  22. Computerlesbares Speichermedium nach Anspruch 19, das ferner enthält: Empfangen eines Punkts in dem Befehlsstapel zwischen zwei Artefaktentwürfen, wobei der Punkt in dem Befehlsstapel einen zeitbezogenen Referenzpunkt darstellt; Auswählen eines Artefaktentwurfs aus den beiden Artefaktentwürfen, der dem Punkt in dem Befehlsstapel zeitlich am nächsten liegt; Suchen der Verfolgbarkeitsverknüpfung und Verfolgbarkeitseckpunkte, um einen weiteren oder mehrere weitere Artefaktentwürfe zu finden, die mit dem ausgewählten Artefaktentwurf verknüpft sind; wenn der eine weitere oder die mehreren weiteren Artefaktentwürfe einen Zeitstempel aufweisen, der dem zeitbezogenen Referenzpunkt entspricht, Darstellen des weiteren einen oder der mehreren weiteren Artefaktentwürfe; und wenn der weitere eine oder die mehreren weiteren Artefaktentwürfe einen Zeitstempel aufweisen, der dem zeitbezogenen Referenzpunkt entspricht, Auswählen eines Befehlspunkts aus einem dem einen oder den mehreren weiteren Artefaktentwürfen zugehörigen Befehlsstapel, der einen Zeitstempel hat, der dem zeitbezogenen Referenzpunk am nächsten liegt; Zurückführen oder Wiederholen von einem oder mehreren Befehlen in dem Befehlsstapel ab dem Befehlspunkt, um einen Zustand des einen oder der mehreren weiteren Artefakte zu erzeugen, der mit dem Punkt in dem Befehlsstapel zwischen zwei Artefaktentwürfen in Beziehung steht; und Darstellen des erzeugten Zustand des einen oder der mehreren weiteren Artefakte.
  23. Computerlesbares Speichermedium nach Anspruch 19, das ferner enthält: Bearbeiten eines Artefaktentwurfs, der kein kürzlicher Artefaktentwurf ist, der einem Artefakt zugehörig ist; und Erstellen einer neuen Artefaktentwurfs-Verzweigung beginnend ab dem bearbeiteten Artefaktentwurf.
DE112013000916.1T 2012-02-09 2013-01-29 System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt Pending DE112013000916T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/369,955 2012-02-09
US13/369,955 US9311623B2 (en) 2012-02-09 2012-02-09 System to view and manipulate artifacts at a temporal reference point
PCT/US2013/023578 WO2013119416A1 (en) 2012-02-09 2013-01-29 A system to view and manipulate artifacts at a temporal reference point

Publications (1)

Publication Number Publication Date
DE112013000916T5 true DE112013000916T5 (de) 2014-10-23

Family

ID=48946693

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013000916.1T Pending DE112013000916T5 (de) 2012-02-09 2013-01-29 System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt

Country Status (5)

Country Link
US (2) US9311623B2 (de)
CN (1) CN104106066B (de)
DE (1) DE112013000916T5 (de)
GB (1) GB2514950A (de)
WO (1) WO2013119416A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092636B2 (en) 2008-11-18 2015-07-28 Workshare Technology, Inc. Methods and systems for exact data match filtering
US10853319B2 (en) 2010-11-29 2020-12-01 Workshare Ltd. System and method for display of document comparisons on a remote device
US11030163B2 (en) * 2011-11-29 2021-06-08 Workshare, Ltd. System for tracking and displaying changes in a set of related electronic documents
US10783326B2 (en) 2013-03-14 2020-09-22 Workshare, Ltd. System for tracking changes in a collaborative document editing environment
US8635295B2 (en) 2010-11-29 2014-01-21 Workshare Technology, Inc. Methods and systems for monitoring documents exchanged over email applications
US9170990B2 (en) 2013-03-14 2015-10-27 Workshare Limited Method and system for document retrieval with selective document comparison
US10574729B2 (en) 2011-06-08 2020-02-25 Workshare Ltd. System and method for cross platform document sharing
US9613340B2 (en) 2011-06-14 2017-04-04 Workshare Ltd. Method and system for shared document approval
US10963584B2 (en) 2011-06-08 2021-03-30 Workshare Ltd. Method and system for collaborative editing of a remotely stored document
US10880359B2 (en) 2011-12-21 2020-12-29 Workshare, Ltd. System and method for cross platform document sharing
US9092572B2 (en) * 2012-03-26 2015-07-28 Verizon Patent And Licensing Inc. Development life cycle management tool for set-top box widgets
US11567907B2 (en) 2013-03-14 2023-01-31 Workshare, Ltd. Method and system for comparing document versions encoded in a hierarchical representation
US10911492B2 (en) 2013-07-25 2021-02-02 Workshare Ltd. System and method for securing documents prior to transmission
CN105095320B (zh) * 2014-05-23 2019-04-19 邓寅生 基于关系叠加组合的文档的标识、关联、搜索及展现的系统
CN105095319B (zh) * 2014-05-23 2019-04-19 邓寅生 基于时间序列化的文档的标识、关联、搜索及展现的系统
US11182551B2 (en) 2014-12-29 2021-11-23 Workshare Ltd. System and method for determining document version geneology
US11763013B2 (en) 2015-08-07 2023-09-19 Workshare, Ltd. Transaction document management system and method
US20210019704A1 (en) * 2019-07-16 2021-01-21 International Business Machines Corporation Interactive knowledge base for project information navigation

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) 1983-11-21 1985-12-10 Xerox Corporation Software version management system
DE69031758T2 (de) * 1990-04-13 1998-05-28 Koninkl Philips Electronics Nv Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
CA2045907C (en) * 1991-06-28 1998-12-15 Gerald B. Anderson A method for storing and retrieving annotations and redactions in final form documents
CA2137492C (en) * 1994-12-07 1998-07-28 Lenny Kwok-Ming Hon System for and method of providing delta-versioning of the contents of pcte file objects
US5850554A (en) 1995-12-29 1998-12-15 Intel Corporation Compiler tool set for efficiently generating and easily managing multiple program versions of different types
US6457004B1 (en) * 1997-07-03 2002-09-24 Hitachi, Ltd. Document retrieval assisting method, system and service using closely displayed areas for titles and topics
US5897636A (en) * 1996-07-11 1999-04-27 Tandem Corporation Incorporated Distributed object computer system with hierarchical name space versioning
US6092091A (en) * 1996-09-13 2000-07-18 Kabushiki Kaisha Toshiba Device and method for filtering information, device and method for monitoring updated document information and information storage medium used in same devices
US6134552A (en) * 1997-10-07 2000-10-17 Sap Aktiengesellschaft Knowledge provider with logical hyperlinks
US6385627B1 (en) * 1997-11-24 2002-05-07 International Business Machines Corporation Method, apparatus and computer program product for providing document user role indication
US6195796B1 (en) 1998-10-21 2001-02-27 Wildseed, Ltd. User centric source control
US6904454B2 (en) 2001-03-21 2005-06-07 Nokia Corporation Method and apparatus for content repository with versioning and data modeling
US20020188638A1 (en) * 2001-06-08 2002-12-12 Walter Hamscher Document negotiation
US9460414B2 (en) * 2001-08-28 2016-10-04 Eugene M. Lee Computer assisted and/or implemented process and system for annotating and/or linking documents and data, optionally in an intellectual property management system
JP2003223440A (ja) * 2001-11-21 2003-08-08 Ricoh Co Ltd 文書処理装置
EP1485825A4 (de) 2002-02-04 2008-03-19 Cataphora Inc Verfahren und vorrichtung zum sammeln soziologischer daten
KR100636909B1 (ko) * 2002-11-14 2006-10-19 엘지전자 주식회사 확장성 표기 언어 기반의 전자문서 버전 매김 및 버전을이용한 갱신 문서 제공 방법
US7207034B2 (en) 2003-06-23 2007-04-17 Microsoft Corporation Undo infrastructure
US7600225B2 (en) * 2003-07-21 2009-10-06 Microsoft Corporation System and method for intra-package delta compression of data
EP1562111B1 (de) 2004-02-03 2017-04-26 Sap Se Ein Kontextmodellierer für das Modellieren einer Kontextdarstellung und eine Methode zur Modellierung einer Kontextdarstellung
GB2413655A (en) * 2004-04-30 2005-11-02 Hewlett Packard Development Co Method and system for updating hierarchical data structures
US7814367B1 (en) * 2004-11-12 2010-10-12 Double-Take Software Canada, Inc. Method and system for time addressable storage
US20060161576A1 (en) 2005-01-18 2006-07-20 Barrs John W Method and apparatus for dimensional data versioning and recovery management
US20070106520A1 (en) 2005-10-11 2007-05-10 Akkiraju Ramakalyani T System and method for conducting dependency analysis of business components
US20070106982A1 (en) 2005-11-04 2007-05-10 International Business Machines Corporation Method, apparatus, and computer program product for model based traceability
US7447707B2 (en) * 2005-12-16 2008-11-04 Microsoft Corporation Automatic schema discovery for electronic data interchange (EDI) at runtime
NZ570210A (en) * 2006-02-06 2010-03-26 Informatica Corp Creating and managing XML schema version transformations
US7644111B2 (en) * 2006-05-02 2010-01-05 Microsoft Corporation Framework for content representation and delivery
US20080005194A1 (en) * 2006-05-05 2008-01-03 Lockheed Martin Corporation System and method for immutably cataloging and storing electronic assets in a large scale computer system
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US7954048B2 (en) * 2006-09-21 2011-05-31 International Business Machines Corporation Content management via configuration set relationships in a content management system
US7945122B2 (en) 2006-09-27 2011-05-17 International Business Machines Corporation Method, system, and program product for processing an electronic document
US20080177782A1 (en) * 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
EP2104890B1 (de) 2007-01-11 2019-04-03 Koninklijke Philips N.V. Verfahren und vorrichtung zur bereitstellung eines rückgängigmachungs-/wiederholungsmechanismus
US7900142B2 (en) * 2007-01-15 2011-03-01 Microsoft Corporation Selective undo of editing operations performed on data objects
US7853611B2 (en) 2007-02-26 2010-12-14 International Business Machines Corporation System and method for deriving a hierarchical event based database having action triggers based on inferred probabilities
US20090024590A1 (en) * 2007-03-15 2009-01-22 Sturge Timothy User contributed knowledge database
US20090013246A1 (en) 2007-04-27 2009-01-08 Bea Systems, Inc. Web based application constructor using extensibility points for page components, page layouts/templates, security roles, shells, and associating data spaces with templates
US20090031239A1 (en) * 2007-07-17 2009-01-29 Gridiron Software Inc. Asset browser for computing environment
US20090049108A1 (en) * 2007-07-17 2009-02-19 Gridiron Software Inc. Method and apparatus for workflow versioning
US8856088B2 (en) 2008-04-01 2014-10-07 Microsoft Corporation Application-managed file versioning
US9383911B2 (en) * 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US8504979B2 (en) 2009-03-06 2013-08-06 Concurrent Technologies Corporation Application framework for reactive information propagation and planning for lifelike exercises
US8312058B2 (en) 2009-09-01 2012-11-13 International Business Machines Corporation Method of providing element dossiers that include elements from nonadjacent lifecycle phases
US8341175B2 (en) 2009-09-16 2012-12-25 Microsoft Corporation Automatically finding contextually related items of a task
US20110107246A1 (en) 2009-11-03 2011-05-05 Schlumberger Technology Corporation Undo/redo operations for multi-object data

Also Published As

Publication number Publication date
GB2514950A (en) 2014-12-10
US9311624B2 (en) 2016-04-12
CN104106066B (zh) 2018-07-17
WO2013119416A1 (en) 2013-08-15
US9311623B2 (en) 2016-04-12
GB201415319D0 (en) 2014-10-15
US20130212472A1 (en) 2013-08-15
CN104106066A (zh) 2014-10-15
US20130212473A1 (en) 2013-08-15

Similar Documents

Publication Publication Date Title
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
US11042523B2 (en) Data curation system with version control for workflow states and provenance
DE112015003406B4 (de) Datenherkunftssummierung
DE112017006106T5 (de) Erzeugen von, Zugreifen auf und Anzeigen von Abstammungsmetadaten
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE102017207686A1 (de) Einblicke in die belegschaftsstrategie
DE112017005638T5 (de) Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen
US9098538B2 (en) Master data management versioning
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE112005000509T5 (de) Verfahren zum automatischen Ermöglichen einer Rückverfolgbarkeit von Engineeringberechnungen
DE19844013A1 (de) Strukturierter Arbeitsordner
DE202016007901U1 (de) Datenfluss - Fenster- und Triggerfunktion
DE202011110124U1 (de) Hybridabfrageausführungsplan
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE112011102394T5 (de) Verwalten und Optimieren von Workflows zwischen Computeranwendungen
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE102013200355A1 (de) Zusammenfügen von Dokumenten aud der Grundlage der Kenntnis eines Dokumentenschemas
EP2425331A1 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE102012100113A1 (de) Verfahren, Software und Computersystem zur Handhabung von angesammelten Daten
DE102008059875A1 (de) System und Verfahren zum Nachverfolgen von Zeit
DE112018005620T5 (de) Auftragsverwaltung in einem datenverarbeitungssystem
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016100000

R016 Response to examination communication
R084 Declaration of willingness to licence