-
BEREICH DER OFFENLEGUNG
-
Die vorliegende Erfindung bezieht sich auf das Gebiet der Komparatoren.
-
DEFINITIONEN
-
Der nachfolgend in dieser Patentschrift verwendete Begriff „Unternehmensanwendungsintegration (UAI)” bezieht sich auf die Integration von Anwendungen in einer gesamten Organisation, die es möglich macht, dass Daten in allen vernetzten Anwendungen weitergegeben werden können.
-
Der Begriff „Komparator” bezieht sich auf ein Tool, das zum Vergleichen von mindestens zwei Computerdateien verwendet wird.
-
In Baumstrukturen ist der Begriff „Knoten” als ein Punkt definiert, an dem sich mindestens zwei Linien treffen. Nach der vorliegenden Patentschrift bezieht sich der Begriff „Knoten” auf einen Punkt in einer Informationshierarchie, der eine Sammlung von Daten darstellt, die ähnliche Attribute gemeinsam haben.
-
„Flow” ist eine unternehmenseigene graphische Programmiersprache von webMethods, Software AG, Reston, VA, USA. Im Kontext der aktuellen Offenlegung enthält eine Flow-Datei ein Programm, das in webMethods entwickelt wurde.
-
„Record” ist eine Dateityp, der in webMethods entwickelt wurde.
-
Der nachfolgend in dieser Patentschrift verwendete Begriff „Keyboard-Interactive” bezieht sich auf ein Nutzerauthentifizierungsprotokoll, das sich vom herkömmlichen Authentifizierungsprotokoll auf der Basis von Benutzername und Passwort unterscheidet.
-
„Secure Shell 2 (SSH2)” ist ein Verschlüsselungsprotokoll.
-
„DOM-Parser” ist ein syntaktischer Analysator von Strings für Programme in einer erweiterbaren Auszeichnungssprache (Extensible Markup Language (XML)). Im Kontext der vorliegenden Offenlegung wird der „DOM-Parser” in Vergleichsknoten des Programms in einer graphischen Programmiersprache verwendet.
-
Der nachfolgend in dieser Patentschrift verwendete Begriff „Flatfile” bezieht sich auf einen Dateispeicherformattyp.
-
Der nachfolgend in dieser Patentschrift verwendete Begriff „Microsoft Excel” bezieht sich auf ein unternehmenseigenes Tabellenkalkulationsdateiformat der Microsoft Corporation, Redmond, WA, USA.
-
HINTERGRUND
-
Angesichts der immer größeren Mobilität von Computergeräten und des gemeinsamen Bearbeitens von Dateien werden Dateikomparatoren immer häufiger von Editoren und Entwicklern genutzt. Diese Komparatoren helfen bei der Identifizierung von Veränderungen, die in einer gemeinsam bearbeiteten Datei vorgenommen wurden, oder bei der Identifizierung von Unterschieden zwischen zwei Dateien. Die Dateien können Wort für Wort verglichen werden, aber die Komplexität und der Zeitverbrauch steigen beim Vergleichen größerer Dateien sowie von Dateien, die graphische Objekte enthalten.
-
Herkömmliche Verfahren, die beim Parsing und Vergleichen von Dateien in einer visuellen Programmiersprache genutzt wurden, haben Nachteile wie begrenzte Anwendung bei spezifischen Dateikategorien, fehlende Benutzeroberfläche und Bereitstellung unzusammenhängender Ergebnisse. Daher besteht ein Bedarf für ein System zum Vergleichen von Dateien in einer visuellen Programmiersprache, die zumindest einige der oben genannten Nachteile einschränkt und gleichzeitig den Zeitbedarf für das Ausführen der Dateivergleiche verringert.
-
ZIELSTELLUNG
-
Einige der Ziele des Systems in der vorliegenden Offenlegung, die zumindest eine der hier enthaltenen Ausführungsformen erfüllt, sind folgende:
Es ist ein Ziel der vorliegenden Offenlegung, mindestens ein Problem des Stands der Technik zu verbessern oder zumindest eine nützliche Alternative bereitzustellen.
-
Ein Ziel der vorliegenden Offenlegung besteht in der Bereitstellung eines computerimplementierten Systems zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen, die dem Programmierer Zeit sparen.
-
Ein weiteres Ziel der vorliegenden Offenlegung besteht in der Bereitstellung eines computerimplementierten Systems zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen, die den Quellcode von Produkten der Unternehmensanwendungsintegration (UAI) nutzen.
-
Weitere Ziele und Vorteile der vorliegenden Offenlegung werden aus der folgenden Beschreibung deutlicher, wenn diese in Verbindung mit den beigefügten Zeichnungen gelesen wird, die nicht dazu gedacht sind, den Geltungsbereich der vorliegenden Offenlegung einzuschränken.
-
ÜBERSICHT
-
Nach der vorliegenden Offenlegung ist ein computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen vorgesehen, wobei das System Folgendes umfasst: ein intransientes Repository, das zum Speichern der Dateien angepasst ist, wobei jede der Dateien durch eine Hierarchie von Knoten definiert ist; eine Benutzeroberfläche, die so angepasst ist, dass sie eine Plattform für die Interaktion zwischen einem Nutzer und dem System bietet; ein Authentifizierungsmodul, das so angepasst ist, dass es die Anmeldedaten eines Nutzers authentifiziert; ein menügesteuertes Auswahlmodul, das so konfiguriert ist, dass es den Dateityp, das Dateiformat und den Dateipfad zu den zu vergleichenden Dateien akzeptiert; ein Extraktormodul, das so angepasst ist, dass es die Dateien aus dem intransienten Repository entnimmt; ein transientes Repository, das so angepasst ist, dass es eine Kopie der vom intransienten Repository entnommenen Dateien speichert; ein Prozessor, der so angepasst ist, dass er einen knotenweisen Vergleich der im transienten Repository gespeicherten Dateien unter Verwendung eines Komparators ausführt, und ein berichterzeugendes Modul, das so angepasst ist, dass es einen Ergebnisbericht anhand der vom Komparator gelieferten Ergebnisse generiert. Üblicherweise ist der Komparator ein DOM-Parser. Zusätzlich ist der Dateityp entweder Flow oder Record. Außerdem ist das Dateiformat entweder das Flatfile-Format oder Microsoft Excel-Dateiformat. Üblicherweise enthält der Dateityp Flow mindestens einen Knoten aus einer Gruppe, die Sequenz, Aufruf, Zweig, Map, Schleife, Wiederholung und Ausgang umfasst. Zusätzlich wird der Authentifizierungstyp der Anmeldedaten des Nutzers aus einer Gruppe gewählt, die die Authentifizierung mit einem Passwort und die Authentifizierung mit Keyboard-Interactive umfasst. Außerdem ist das intransiente Repository ein UNIX-Server mit SSH2-Verschlüsselung. Üblicherweise ist der Dateipfad eine Kombination des Pfads zum intransienten Repository und entweder flow.xml oder node.ndf.
-
Nach der vorliegenden Offenlegung ist des Weiteren ein computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen vorgesehen, wobei das System Folgendes umfasst: ein Prüfmodul zum Prüfen der Anmeldedaten eines Nutzers; ein erstes Identifiziermodul zum Identifizieren eines Dateityps, der vom Nutzer als erste Wahl gewählt wurde, sowie zum Identifizieren eines Dateiformats, das vom Nutzer als zweite Wahl gewählt wurde; ein zweites Identifiziermodul zum Identifizieren des Dateipfads zu den in einem intransienten Repository gespeicherten Dateien; ein Extraktormodul zum Entnehmen von Dateien aus dem intransienten Repository und Anlegen einer Kopie jeder der Dateien in einem transienten Repository; ein Komparatormodul zum Ausführen von Wiederholungen des knotenweisen Vergleichs zwischen den Dateien unter Verwendung eines DOM-Parsers sowie ein Berichterzeuger zum Generieren eines Berichts in einem gewählten Dateiformat. Üblicherweise vergleicht das Komparatormodul während der Ausführung der Wiederholungen des knotenweisen Vergleichs zwischen den Dateien, wobei der Dateityp der Dateien Record ist, des Weiteren die Feldnamen und Datentypen sowie die Dokumentverweise. Zusätzlich prüft das Komparatormodul während der Ausführung der Wiederholungen des knotenweisen Vergleichs zwischen den Dateien, wobei der Dateityp der Dateien Flow ist, des Weiteren die Flow-Schritte und deren Attribute sowie vergleicht die Schrittwerte und die Ablagen.
-
KURZE BESCHREIBUNG DER BEIGEFÜGTEN ZEICHNUNGEN
-
Ein computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen der vorliegenden Offenlegung wird nachfolgend mit Hilfe der beigefügten Zeichnungen beschrieben, wobei gilt:
-
1 veranschaulicht einen Screenshot des Ergebnisses, das man mittels eines herkömmlichen xml-Vergleichssystems erhält.
-
2a veranschaulicht einen Screenshot, der den ersten Schritt darstellt, der ausgeführt wird, um die Benutzeroberfläche des Systems nach einer Ausführungsform der vorliegenden Offenlegung zu nutzen.
-
2b veranschaulicht einen Screenshot, der den zweiten Schritt darstellt, der ausgeführt wird, um die Benutzeroberfläche des Systems nach einer Ausführungsform der vorliegenden Offenlegung zu nutzen.
-
2c veranschaulicht einen Screenshot, der den dritten Schritt darstellt, der ausgeführt wird, um die Benutzeroberfläche des Systems nach einer Ausführungsform der vorliegenden Offenlegung zu nutzen.
-
3 veranschaulicht einen Screenshot des Ergebnisses des Systems nach einer Ausführungsform der vorliegenden Offenlegung.
-
4a veranschaulicht das Ablaufschema, das bei der Entwicklung des Systems nach einer Ausführungsform der vorliegenden Offenlegung verwendet wird.
-
4b veranschaulicht die Reihe von Schritten des Ablaufschemas in 4a, die im Rahmen eines Authentifizierungsmoduls abgedeckt sind.
-
4c veranschaulicht die Reihe von Schritten des Ablaufschemas in 4a, die im Rahmen eines Dateizugriffsmoduls abgedeckt sind.
-
4d veranschaulicht die Reihe von Schritten des Ablaufschemas in 4a, die im Rahmen eines Dienstevergleichsmoduls abgedeckt sind, und
-
4e veranschaulicht die Reihe von Schritten des Ablaufschemas in 4a, die im Rahmen eines berichterzeugenden Moduls abgedeckt sind.
-
DETAILLIERTE BESCHREIBUNG DER BEIGEFÜGTEN ZEICHNUNGEN
-
Eine bevorzugte Ausführungsform eines computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen der vorliegenden Offenlegung wird nachfolgend detailliert unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Die bevorzugte Ausführungsform schränkt nicht den Umfang und Geltungsbereich der Offenlegung ein. Die zur Verfügung gestellte Beschreibung dient nur als Beispiel und Veranschaulichung.
-
Die hier enthaltenen Ausführungsformen sowie deren verschiedenen Merkmale und vorteilhaften Details werden unter Bezugnahme auf die nicht einschränkenden Ausführungsformen in der folgenden Beschreibung erläutert. Beschreibungen allgemein bekannter Bauteile und Verarbeitungsverfahren werden ausgelassen, um die hier enthaltenen Ausführungsformen nicht durch unnötige Details unverständlich zu machen. Die hier verwendeten Beispiele sind ausschließlich dazu gedacht, das Verständnis der Art und Weise zu ermöglichen, in der die hier enthaltenen Ausführungsformen praktiziert werden können, und um es Kennern der Technik zu ermöglichen, die hier enthaltenen Ausführungsformen praktisch umzusetzen. Dementsprechend sind die Beispiele nicht als Einschränkung des Geltungsbereichs der hier enthaltenen Ausführungsformen auszulegen.
-
Zu den mit den herkömmlichen Verfahren zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen verbundenen Nachteilen gehören das Fehler einer Benutzeroberfläche, Inkohärenz der ausgegebenen Ergebnisse, Abhängigkeit von plattformabhängigen Entwicklungstools zur Entwicklung von Komparatoren und fehlender Zugriff auf die Quellcodedateien der UAI-Produkte. 1 stellt den Screenshot des ausgegebenen Ergebnisses dar, das man mittels eines herkömmlichen xml-Vergleichssystems erhält. 1 veranschaulicht ein Fehlen einer Benutzeroberfläche, wodurch es dem Programmierer erschwert wird, die Ergebnisse zu interpretieren.
-
Um die Schwierigkeiten und Nachteile der Verwendung herkömmlicher Verfahren zu überwinden, stellt die vorliegende Offenlegung ein auf einer Benutzeroberfläche basierendes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen vor. Das System Folgendes umfasst ein intransientes Repository, das zum Speichern der Dateien angepasst ist, wobei jede der Dateien durch eine Hierarchie von Knoten definiert ist; eine Benutzeroberfläche, die so angepasst ist, dass sie eine Plattform für die Interaktion zwischen einem Nutzer und dem System bietet; ein Authentifizierungsmodul, das so angepasst ist, dass es die Anmeldedaten eines Nutzers authentifiziert; ein menügesteuertes Auswahlmodul, das so konfiguriert ist, dass es den Dateityp, das Dateiformat und den Dateipfad zu den zu vergleichenden Dateien akzeptiert; ein Extraktormodul, das so angepasst ist, dass es die Dateien aus dem intransienten Repository entnimmt; ein transientes Repository, das so angepasst ist, dass es eine Kopie der vom intransienten Repository entnommenen Dateien speichert; ein Prozessor, der so angepasst ist, dass er einen knotenweisen Vergleich der im transienten Repository gespeicherten Dateien unter Verwendung eines Komparators ausführt, und ein berichterzeugendes Modul, das so angepasst ist, dass es einen Ergebnisbericht anhand der vom Komparator gelieferten Ergebnisse generiert.
-
Nach einem weiteren Aspekt der vorliegenden Offenlegung umfasst das auf einer Benutzeroberfläche basierende System ein Prüfmodul zum Prüfen der Anmeldedaten eines Nutzers; ein erstes Identifiziermodul zum Identifizieren eines Dateityps, der vom Nutzer als erste Wahl gewählt wurde, sowie zum Identifizieren eines Dateiformats, das vom Nutzer als zweite Wahl gewählt wurde; ein zweites Identifiziermodul zum Identifizieren des Dateipfads zu den in einem intransienten Repository gespeicherten Dateien; ein Extraktormodul zum Entnehmen von Dateien aus dem intransienten Repository und Anlegen einer Kopie jeder der Dateien in einem transienten Repository; ein Komparatormodul zum Ausführen von Wiederholungen des knotenweisen Vergleichs zwischen den Dateien unter Verwendung eines DOM-Parsers sowie ein Berichterzeuger zum Generieren eines Berichts in dem gewählten Dateiformat. Das Komparatormodul ist so ausgelegt, dass es Feldnamen, Datentypen und Dokumentverweise vergleicht. Das Komparatormodul ist des Weiteren so ausgelegt, dass es die Flow-Schritte und Attribute zwischen den Dateien sowie deren Schrittwerte und Ablagen zwischen ihnen vergleicht.
-
2a veranschaulicht einen Screenshot der Benutzeroberfläche, wo der Benutzer aufgefordert wird, seine Angaben zur Anmeldung im System einzugeben. Zu den Anmeldeangaben gehören der Server-Nutzername 102 und das Server-Passwort 104. Nach einer Ausführungsform wird eine Datenbank mit Nutzernamen und Passwörtern entweder in einem transienten Repository oder in einem intransienten Repository gespeichert. Der Authentifizierungstyp der Anmeldedaten des Nutzers wird aus einer Gruppe gewählt, die die Authentifizierung mit einem Passwort und die Authentifizierung mit Keyboard-Interactive umfasst.
-
Das System umfasst des Weiteren ein menügesteuertes Auswahlmodul, das als Antwort einen Dateityp der Dateien akzeptiert, die verglichen werden sollen, außerdem ein Dateiformat, in dem das Ergebnis des Vergleichs exportiert werden soll, sowie einen ServiceName-Pfad 106, der genutzt wird, um auf die in einem intransienten Repository gespeicherten Dateien zuzugreifen. Das menügesteuerte Auswahlmodul akzeptiert als Antwort eine erste Wahl, die vom Nutzer zum Typ der zu vergleichenden Dateien getroffen wird. Der Nutzer wählt zwischen den Dateitypen Flow und Record. Jeder der Dateitypen wird durch eine Hierarchie von Knoten gebildet. Das menügesteuerte Auswahlmodul akzeptiert als Antwort eine zweite Wahl, die vom Nutzer zum Dateiformat getroffen wird, in dem die Ergebnisse exportiert werden sollen. Der Nutzer wählt zwischen einem Flatfile-Format und einem Microsoft Excel-Dateiformat. Der ServiceName-Pfad 106 umfasst den Pfad, der zum Speicherort der im intransienten Repository gespeicherten Dateien angelegt wird. Nach einer Ausführungsform ist der Dateipfad wie folgt aufgebaut: Dateipfad = Pfad zum intransienten Repository + vollständiger Name + flow.xml/node.ndf (je nach Dateityp).
-
Die erwähnten transienten und intransienten Repositorys sind Datenspeichergeräte. Nach einer Ausführungsform ist das intransiente Speichergerät ein UNIX-Server mit SSH2-Verschlüsselung. Des Weiteren umfasst das System ein Extraktormodul. Das Extraktormodul entnimmt Dateien aus dem intransienten Repository und kopiert diese in das transiente Repository. Das menügesteuerte Auswahlmodul und das Extraktormodul bilden gemeinsam das Dateizugriffsmodul.
-
2b veranschaulicht einen Screenshot der Benutzeroberfläche, die es dem Nutzer ermöglicht, den zu vergleichenden Dateityp auszuwählen. Eine Dropdown-Schaltfläche zur Wahl zwischen Flow Service und Record ist mit dem Bezugszeichen 108 dargestellt. 2c veranschaulicht einen Screenshot der Benutzeroberfläche, die es dem Nutzer ermöglicht, das Format auszuwählen, in dem die Ergebnisse exportiert werden sollen. Eine Dropdown-Schaltfläche zur Wahl zwischen dem Format Flatfile und dem Format Microsoft Excel ist mit dem Bezugszeichen 110 dargestellt. 3 veranschaulicht ein Beispiel eines Ergebnisses nach einer Ausführungsform der vorliegenden Offenlegung. Die Abbildung zeigt eine Anzeige einer Beispielmeldung „MAPDELETE in lokalem Host: 5555 fehlt”. Dies ermöglicht dem Nutzer, leicht den Unterschied zwischen den Dateien zu erkennen.
-
4a veranschaulicht ein Ablaufschema, das verwendet wurde, um den von dem in der vorliegenden Offenlegung vorgestellten System verwendeten Algorithmus zu entwickeln. Das Ablaufschema des Systems ist mit dem Bezugszeichen 100 dargestellt. 4b veranschaulicht das Starten des Tools, das im Rahmen des Authentifizierungsmoduls abgedeckt sind. Der Abschnitt des Ablaufschemas 100, der für die Ausführung der Schritte im Rahmen des Authentifizierungsmoduls verantwortlich ist, wird mit dem Bezugszeichen 200 dargestellt. Nach dem Start geht das System in einen Status zur Authentifizierung der Anmeldedaten. Wenn die Authentifizierung fehlschlägt, wird das System beendet. Ist die Authentifizierung erfolgreich, führt das System den nächsten Abschnitt der Schritte aus, die im Ablaufschema 100 veranschaulicht sind. 4c veranschaulicht den Abschnitt des Ablaufschemas 100, der im Rahmen des Dateizugriffsmoduls abgedeckt ist. Der Abschnitt des Ablaufschemas 100, der für die Ausführung dieses Schritts verantwortlich ist, wird mit dem Bezugszeichen 300 dargestellt. 4d veranschaulicht den Abschnitt des Ablaufschemas 100, der im Rahmen des Dienstevergleichsmoduls abgedeckt ist. Der Abschnitt des Ablaufschemas 100, der für die Ausführung dieses Schritts verantwortlich ist, wird mit dem Bezugszeichen 400 dargestellt. Das Dienstevergleichsmodul umfasst den Einsatz eines Prozessors, eines Komparators und des transienten Repositorys. Anhand der vom Nutzer getroffenen Auswahl zwischen Record-Datei und Flow-Datei greift das System dynamisch auf die im transienten Repository gespeicherten Dateien zu. Der Komparator führt einen knotenweisen Vergleich der Dateien aus, während er gleichzeitig die Ergebnisse ausgibt. Nach einer Ausführungsform enthält der Dateityp Flow Knoten, die Sequenz, Aufruf, Zweig, Map, Schleife, Wiederholung und Ausgang umfassen. Nach einer Ausführungsform ist der Komparator ein DOM-Parser. Für den Dateityp Record vergleicht der Komparator Feldnamen, Datentypen und Dokumentverweise. Für den Dateityp Flow prüft der Komparator den Flow-Schritt und seine Attribute, während er gleichzeitig die Schrittwerte und Ablagen vergleicht.
-
4e veranschaulicht den Abschnitt des Ablaufschemas 100, der im Rahmen des berichterzeugenden Moduls abgedeckt ist. Dieser Abschnitt des Ablaufschemas 100 ist mit dem Bezugszeichen 500 dargestellt. Das berichterzeugende Modul generiert einen Ergebnisbericht anhand der vom Komparator ausgegebenen Ergebnisse. Der Ergebnisbericht ist in dem vom Nutzer im menügesteuerten Auswahlmodul gewählten Dateiformat und wird in einem vom Nutzer gewählten Standardverzeichnis gespeichert.
-
TECHNISCHE WEITERENTWICKLUNG
-
Zur technischen Weiterentwicklung, die von der vorliegenden Offenlegung bereitgestellt wird, gehört die Realisierung von:
ein computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen, wodurch der Programmierer Zeit spart und gleichzeitig die zum Vergleichen erforderliche Zeit minimiert wird, und ein computerimplementiertes System zum Vergleichen von mindestens zwei Dateien visueller Programmiersprachen, das auf den Quellcode von UAI-Produkten zugreift.
-
In der gesamten Patentschrift sind die Begriffe „enthalten” oder Variationen davon wie „enthält” oder „enthaltend” so zu verstehen, dass die Einbeziehung des genannten Elements, der Ganzzahl oder des Schritts, oder der Gruppe von Elementen, Ganzzahlen oder Schritten impliziert wird, aber ein anderes Element, eine andere Ganzzahl oder ein anderer Schritt oder Gruppe von Elementen, Ganzzahlen oder Schritten nicht ausgeschlossen werden.
-
Die Verwendung des Ausdrucks „mindestens” oder „mindestens eine” lässt auf die Verwendung von einem oder mehrerer Element oder Zutaten oder Mengen schließen, je nachdem wie es in der Ausführungsform der Offenlegung verwendet wird, um ein oder mehrere der gewünschten Ziele oder Ergebnisse zu erreichen.
-
Immer wenn ein Bereich von Werten angegeben wird, ist ein Wert von bis zu 10% unter und über dem niedrigsten bzw. höchsten numerischen Wert des angegebenen Bereichs in den Umfang der Offenlegung eingeschlossen.
-
Die vorstehende Beschreibung der spezifischen Ausführungsformen wird den allgemeinen Charakter der hier enthaltenen Ausführungsformen so vollständig aufdecken, dass andere durch Anwenden aktueller Kenntnisse leicht die spezifischen Ausführungsformen modifizieren und/oder anpassen können, ohne vom Oberbegriff abzuweichen. Daher sind diese Anpassungen und Modifizierungen so zu verstehen, dass sie zur Bedeutung und dem Bereich der Äquivalenten der offengelegten Ausführungsformen gehören. Es versteht sich, dass die hier verwendeten Formulierungen oder Terminologie nur dem Zwecke der Beschreibung und nicht der Einschränkung dienen. Während die hier enthaltenen Ausführungsformen in Bezug auf die bevorzugten Ausführungsformen beschrieben wurden, werden Kenner der Technik daher erkennen, dass die hier enthaltenen Ausführungsformen mit Modifizierung innerhalb des Geistes und des Bereichs der hier beschriebenen Ausführungsformen in die Praxis umgesetzt werden können.