T 1317/14 (Prüfverfahren für eine Integrität eines Quelltextes/BECKHOFF AUTOMATION GMBH) 18-06-2020
Download und weitere Informationen:
PRÜFVERFAHREN FÜR EINE INTEGRITÄT EINES QUELLTEXTES
Patentansprüche - Allgemeine Auswahl der Prüfsummenverfahren und Bildung einer prädizierten Prüfsumme
Patentansprüche - Stützung durch die Beschreibung (nein)
Patentansprüche - Klarheit
Patentansprüche - Hauptantrag (nein)
Patentansprüche - Klarheit
Patentansprüche - Hilfsantrag 1 (nein)
Spät eingereichter Hilfsantrag 2 - Zulassung (nein)
I. Die Beschwerde richtet sich gegen die Entscheidung der Prüfungsabteilung, mit der die europäische Anmeldung Nr. 11776752.5 aufgrund des Artikels 97(2) EPÜ zurückgewiesen wurde. Die Entscheidungsgründe waren mangelnde Stützung des Anspruches 1 des Hauptantrages durch die Beschreibung (Artikel 84 EPÜ) und mangelnde erfinderische Tätigkeit (Artikel 56 EPÜ) des Anspruchs 1 gegenüber den dem Fachmann allgemein geläufigen Fachkenntnissen.
II. Mit Schreiben vom 15. April 2014 beantragte die Beschwerdeführerin die angefochtene Entscheidung aufzuheben und ein Patent auf der Grundlage der der Entscheidung über die Zurückweisung zugrunde liegenden Unterlagen zu erteilen, d.h. auf der Grundlage der am 4. Oktober 2013 eingereichten Ansprüche 1-13.
III. Die Kammer lud zur mündlichen Verhandlung für den 18. Juni 2020 und legte in einem Bescheid ihre vorläufige Meinung zu der Beschwerde dar. Die Kammer teilte im Grundsatz die Meinung der Prüfungsabteilung hinsicht-lich Artikel 84 EPÜ und Artikel 56 EPÜ. Die Kammer legte außerdem dar, dass Zweifel beständen, ob die Erfindung so deutlich und vollständig offenbart sei, dass der Fachmann sie ausführen kann (Artikel 83 EPÜ).
IV. Mit Schreiben vom 18. Mai 2020 reichte die Beschwerde-führerin einen Hilfsantrag 1 ein und legte ihre Meinung dar, warum die Einwände unter Artikel 84 EPÜ und Artikel 56 EPÜ nicht begründet seien.
V. Am 18. Juni 2020 fand die mündliche Verhandlung statt, in deren Verlauf ein neuer Hilfsantrag 2 eingereicht wurde.
VI. Die Antragslage vor der Verkündigung der Entscheidung war wie folgt : die Beschwerdeführerin beantragte die Aufhebung der angefochtenen Entscheidung und die Erteilung eines Patents auf der Grundlage des mit Schreiben vom 4. Oktober 2013 eingereichten Haupt-antrages, oder des am 18. Mai 2020 eingereichten Hilfs-antrages 1 oder des am 18. Juni 2020 eingereichten Hilfsantrages 2.
VII. Anspruch 1 gemäß Hauptantrag lautet :
"1. Verfahren zum Erstellen einer ausführbaren Anwen-dung, welche eine industrielle Steuer- oder Fertigungs-anlage steuern kann, mit den Verfahrenschritten:
Editieren eines Quelltextes (603), der einem für einen Menschen lesbaren, in einer Programmiersprache geschriebenen Text entspricht, wobei in den Quelltext (603) ein Code-Segment (801) eingefügt wird,
Ermitteln einer prädizierten Prüfsumme (623), die aus einer Quelltext-Prüfsumme und aus einer Code-Segment-Prüfsumme gebildet wird und vorhersagt, welche Prüfsumme der Quelltext mit dem eingefügten Code-Segment aufweisen müsste,
Ermitteln einer berechneten Prüfsumme (821), die aus dem Quelltext (603) mit dem eingefügten Code-Segment (801) berechnet wird,
Vergleichen der prädizierten Prüfsumme (623) mit der berechneten Prüfsumme (821), um eine Integrität des Quelltextes mit dem eingefügten Code-Segment festzustellen, wenn die prädizierte Prüfsumme und die berechnete Prüfsumme miteinander übereinstimmen, und
Kompilieren des geprüften Quelltextes mit dem eingefügten Code-Segment, um die ausführbaren Anwendung zu erstellen."
Anspruch 1 des Hilfsantrages 1 basiert auf Anspruch 1 des Hauptantrages. Es wurde in Zeilen 13 bis 21 des Anspruches 1 folgendes Merkmal hinzugefügt: "wobei zum Berechnen der Code-Segmentprüfsumme (817) das Code-Segment (801) in dynamische Code-Segmentanteile (805a, 805b) und statische Code-Segmentanteile (803a, 803b) aufgeteilt wird, wobei jeweils eine dynamische Unterprüfsumme (813a, 813b) für die dynamischen Code-Segmentanteile (805a, 805b) berechnet wird und wobei jeweils eine statische Unterprüfsumme (811a, 811b) den statischen Code-Segmentanteilen (803a, 803b) zugeordnet wird".
Anspruch 1 des Hilfsantrages 2 basiert auf Anspruch 1 des Hilfsantrages 1. Es wurden folgende Merkmale hinzu-gefügt:
das Merkmal "sicherheitskritische[n] [Anwendung]" in Zeile 1 des Anspruches 1;
das Merkmal "auf einem Computer, der eine Editor-schaltung (405) und eine [sic] Speicher aufweist" in Zeilen 5 und 6, sowie "mittels der Editorschaltung" in Zeile 8, "in der Editorschaltung" in Zeile 12, sowie das Merkmal "der im Speicher abgelegt ist" in Zeile 27;
das Merkmal "wobei die Quelltext-Prüfsumme und die Code-Segment-Prüfsumme so verknüpft werden, dass vorhergesagt wird" in Zeilen 14 bis 16.
1. Hintergrund der Erfindung
1.1 Die vorliegende Erfindung betrifft ein Prüfverfahren für eine Integrität eines Quelltextes, in den ein Code-Segment eingefügt wird. Der Quelltext kann bereits Code-Segmente umfassen, kann aber auch leer sein, siehe Seite 13, Zeilen 4 bis 6 der Beschreibung. Die Erfindung soll die Aufgabenstellung lösen, dass eine korrekte Abbildung eines in einen Quelltext eingefügten Code-Segments sichergestellt ist. Es geht also primär darum festzustellen, ob ein Code-Segment korrekt eingefügt wurde und nicht darum, dass ein Code-Segment eingefügt wurde.
1.2 Die Erfindung löst dies durch Berechnung von zwei Prüfsummen. Eine erste, "prädizierte Prüfsumme" wird basierend auf "dem Quelltext ohne das eingefügte Code-Segment und auf dem eingefügten Code-Segment" [sic] berechnet. Basierend auf Seite 13, Zeilen 13 bis 15, scheint dieser Schritt zu bedeuten, dass die prädizierte Prüfsumme für Quelltext "für sich", also ohne Code-Segment, berechnet wird und dann irgendwie mit dem Code-Segment kombiniert werden soll. Eine zweite Prüfsumme wird basierend auf dem Quelltext mit dem eingefügten Code-Segment berechnet. Beide Prüfsummen werden miteinander verglichen. Wenn sie übereinstimmen, kann im Rahmen einer Fehlererkennung davon ausgegangen werden, dass das eingefügte Code-Segment korrekt in den Quelltext eingefügt wurde, siehe Seite 12, Zeilen 19 bis 37. Der Quelltext mit dem eingefügten Code-Segment wird als Basis für weitere einzufügende Code-Segmente verwendet.
1.3 Die Anmeldung unterscheidet drei Fälle, siehe Seite 13, erster Absatz. Das eingefügte Code-Segment kann entweder an das Ende des Quelltextes angefügt werden, oder direkt in den Quelltext integriert werden, oder vor dem Anfang des Quelltextes angefügt werden.
1.4 Die Anmeldung führt auf Seite 14, vierter Absatz und folgend, aus, dass der Quelltext mit einem graphischen Editor editiert wird, indem graphisch darstellbare Funktionsbausteine mittels Verbindungselementen miteinander verbunden werden. Den Verbindungselementen sowie den Funktionsbausteinen sind Code-Segmente zugeordnet.
2. Artikel 84 EPÜ
2.1 Die Prüfungsabteilung beanstandete die mangelnde Stützung des Anspruches 1 in seiner gesamten Breite durch die Beschreibung. Das Merkmal "Ermitteln einer prädizierten Prüfsumme, die aus einer Quelltext-Prüfsumme und aus einer Code-Segment-Prüfsumme gebildet wird und vorhersagt, welche Prüfsumme der Quelltext mit dem eingefügten Code-Segment aufweisen müsste" sei unklar, da der Fachmann nicht wisse, wie die ermittelte Quelltext-Prüfsumme und Code-Segment-Prüfsumme verknüpft werden sollen, um das beanspruchte Merkmal umzusetzen.
Die Beschreibung offenbare zwar zwei Beispiele für Prüfsummenverfahren, wie das CRC (Abb. 9) und das Even-ParityBit Verfahren (Abb. 8), enthalte aber keinen Hinweis darauf, wie die "prädizierte Prüfsumme" im Allgemeinen, vor allem in der beanspruchten Breite, ermittelt werden soll. Die für das Even-ParityBit Prüfsummenverfahren offenbarte Modulo-2 Funktion, nach Seite 20, Zeile 1, funktioniere nicht für das CRC Prüfverfahren und schon gar nicht für beliebige Prüfverfahren.
2.2 Die Beschwerdeführerin argumentierte, dass die Anmel-dung in Abbildung 8 eine Ausführungsform offenbare, wo die mathematische Funktion zur Erzeugung der Vorher-sageprüfsumme, z.B. eine Modulo-2 Funktion, mit dem Even-ParityBit Verfahren genutzt werde. Für das CRC Prüfsummenverfahren könne dies der Fachmann anhand der Abbildung 9 ohne Schwierigkeiten nacharbeiten. Damit könne der Gegenstand des Anspruches 1 aus der Beschreibung abgeleitet werden und vom Fachmann im gesamten beanspruchten Bereich ausgeführt werden.
Die Beschwerdeführerin argumentierte weiterhin, dass sich die Erfindung bei der Programmierung einer Steuerungssoftware für Fertigungsanlagen abspiele, also vor dem Kompilieren. Die Erfindung sichere dabei die Umsetzung (d.h. das Abspeichern) eines in einem graphischen Editor geänderten Quellcodes in Binärcode auf dem Computer ab und erkenne Fehler in der Steuerungssoftware durch die Vorhersage von Prüfsummen.
2.3 Der Kammer erscheint der Einwand unter Artikel 84 EPÜ gerechtfertigt, da der Anspruch 1 in seiner gesamten Breite nicht von der Beschreibung gestützt ist. Zum einen umfasst die Anmeldung keinen Hinweis zur Auswahl eines geeigneten Prüfsummenverfahrens, zum anderen keine Auswahlkriterien für eine geeignete Verknüpfungs-funktion einer Quelltext-Prüfsumme und einer Code-Segment-Prüfsumme zur Bildung einer prädizierten Prüfsumme.
2.4 Das von der Prüfungsabteilung beanstandete Merkmal von Anspruch 1 betrifft die Bestimmung einer Quelltext-Prüfsumme und einer Code-Segment-Prüfsumme, was die Auswahl eines geeigneten Prüfsummenverfahrens voranstellt, sowie die Bildung einer prädizierten Prüfsumme, die sich aus der Verknüpfung einer Quelltext-Prüfsumme und einer Code-Segment-Prüfsumme ergibt. Hierbei bleibt unklar, welche mathematische Operation zur Verknüpfung der beiden einzelnen Prüfsummen zur Erzeugung der prädizierten Prüfsumme verwendet werden kann. Dies ist im Gegensatz zur Meinung der Beschwerdeführerin ein wesentliches Merkmal der Erfindung, denn in der Qualität der prädizierten Prüfsumme liegt ja der Effekt der Erfindung begründet, vorhersagen zu können, dass das eingefügte Code-Segment korrekt in den Quelltext eingefügt wurde, siehe Seite 3, Zeilen 1 bis 3, der Beschreibung.
2.5 Anspruch 1 verlangt weiterhin die Bestimmung einer berechneten Prüfsumme, sowie den Vergleich der prädi-zierten Prüfsumme mit der berechneten Prüfsumme, um die Integrität des Quelltextes mit dem eingefügten Code-Segment festzustellen, siehe Seite 12, Zeilen 19 bis 30. Die Beschreibung erwähnt hierfür zum einen das Even-ParityBit-Verfahren (Fig. 8), zum anderen das CRC-Prüfsummenverfahren (Fig. 9), wobei lediglich für ersteres nähere Details beschrieben sind, obwohl auch hier weitere Zusammenhänge zwischen Even-ParityBit-Verfahren (Fig. 8) und dem Modulo-2-Verfahren offen bleiben. Jedoch ist Anspruch 1 so breit gefasst, dass jedes Prüfverfahren umfasst ist. Dabei spezifiziert Anspruch 1 weder Auswahlkriterien für geeignete Prüfverfahren noch gibt er Anweisungen für die Ausgestaltung der Verknüpfungsoperation. Letzteres sieht die Kammer als wesentliches Merkmal an.
2.6 Bei der Nacharbeitung der in den Abbildungen 8 und 9 dargestellten Ausführungsbeispiele stellt sich für den Fachmann bereits die Frage, wie die einzelnen Bitfolgen zur Kodierung der Code-Segmentanteile gebildet werden sollen. Dies sind die Bitfolgen 807a, 807b, 809a und 809b in Abbildung 8 (Even-ParityBit Verfahren), sowie 907a, 907b, 909a und 909b in Abbildung 9 (CRC Ver-fahren). Die Beschreibung enthält hierzu keinen Hinweis. Die Kammer ist vom Argument der Beschwerde-führerin, dass dies vom jeweiligen Editor vorgegeben sei und des Weiteren ein unwesentliches Merkmal sei, nicht überzeugt. Beide Ausführungsbeispiele stellen die Bildung der Prüfsummen auf der Basis von Bitfolgen dar, wo eine korrekte Anfangskodierung des Codes in einer Anfangsbitfolge nicht unerheblich ist.
2.7 Beim Vergleich der prädizierten Prüfsumme mit der be-rechneten Prüfsumme in Abbildung 8 beim ParityBit Ver-fahren spielt die Modulo-2 Funktion als Verknüpfungs-funktion keinen unwesentlichen Beitrag, sondern einen wesentlichen, denn sie stellt sicher, dass beide Werte als gleich gewertet werden, was die Voraussetzung ist, dass die Integrität des Quelltextes mit dem eingefügten Code-Segment festgestellt werden kann.
Beim Vergleich der prädizierten Prüfsumme mit der be-rechneten Prüfsumme in Abbildung 9 beim CRC Verfahren ist dagegen völlig offen, wie sichergestellt werden soll, dass beide Prüfsummen als gleich gewertet werden. Die beiden Werte 925 und 917 sind unterschiedlich und es ist nicht ersichtlich, welche Zusatzfunktion der Fachmann anwenden müsste, damit die Werte der beiden Prüfsummen als gleich betrachtet werden können. Des Weiteren ist nicht klar, warum das Code-Segment im Schritt 923 in Abbildung 9 nur aus den Bitfolgen 907a und 909a bestehen soll, wobei die Bitfolgen 907b und 909b offenbar nicht berücksichtigt werden.
Der Fachmann müsste ähnlich der Modulo-2 Funktion für das ParityBit Verfahren auch für das CRC Verfahren eine Zusatzfunktion auswählen. Die Beschreibung erhält hierfür keine weiteren Angaben und der Fachmann müsste Versuchsreihen zur Bestimmung dieser Funktion durch-führen, ohne dass diese notwendigerweise mit Erfolg beschieden wären, wie die Prüfungsabteilung in der angefochtenen Entscheidung, Seite 5, anhand eines Beispieles feststellte, da sich nicht jede Ver-knüpfungsfunktion für jedes Prüfsummenverfahren ver-wenden lässt.
2.8 Es fehlen dem Fachmann in der Anmeldung damit Angaben, wie eine prädizierte Prüfsumme im Allgemeinen für ein beliebiges Prüfverfahren, wie beansprucht, gebildet werden soll, mit anderen Worten, wie die einzelnen Prüfsummen so verknüpft werden sollen, damit eine passende präzidierte Prüfsumme bestimmt werden kann.
2.9 Die Kammer stellt weiterhin fest, dass das Merkmal "welche eine industrielle Steuer- oder Fertigungsanlage steuern kann" in Zeilen 2 und 3 des Anspruches 1 keine eindeutigen Anforderungen an die Art der zu erstel-lenden ausführbaren Anwendung angibt oder an die Art und Weise in der Erstellung dieser Anwendung, sondern nur allgemein dessen Eignung zur Steuerung einer industriellen Steuer- und Fertigungsanlage darstellt.
2.10 Die Kammer kann auch nicht erkennen, dass es sich gemäß Anspruch 1 um eine "sicherheitskritische Anwendung" handelt, wie von der Beschwerdeführerin argumentiert wurde, oder dass sich hieraus Kriterien für die Auswahl geeigneter Prüfsummenverfahren ergeben würden. Es mag zwar durchaus gegeben sein, dass sich aus den Normen des TÜVs für Steuerungstechnik eine maximale Restfehlerwahrscheinlichkeit der Steuerungssoftware ergeben könnte, allerdings ist dies nicht in der Anmeldung detailliert und somit reine Spekulation. Die Kammer kann darin auch kein Kriterium für die Auswahl eines geeigneten Prüfsummenverfahrens erkennen.
2.11 Des Weiteren ist es für die Kammer fraglich, inwieweit die Erfindung nach Anspruch 1 eine Absicherung der Schnittstelle eines Editors zum Speicher eines Computer erreichen könnte, wie von der Beschwerdeführerin argumentiert wurde. Man könnte dies als Absicherung der Speicherung der Binärcodierung eines Quelltextes in einem Computerspeicher verstehen. Allerdings werden die Prüfsummen gemäß Anspruch 1 auf der Basis von Quelltext gebildet und nicht auf der Basis einer Binärcodierung. Des Weiteren müsste der Quelltext für die Darstellung in einem Editor bereits in einem temporären Speicher des Computers als Binärcodierung vorliegen. Worin somit ein Absicherung der Speicherung des Quelltextes in einer Binärkodierung liegen sollte, bleibt offen.
2.12 Aus den oben genannten Gründen erfüllt Anspruch 1 des Hauptantrags nicht die Erfordernisse des Artikels 84 EPÜ.
3. Hilfsantrag 1
3.1 Die Beschwerdeführerin argumentierte, dass Anspruch 1 des Hilfsantrages 1 eine Vereinfachung der Berechnung der prädizierten Prüfsumme darstelle und zwar dadurch, dass die Berechnung einer Unterprüfsumme nur für die dynamischen Anteile eines Code-Segmentes durchgeführt werden müsse, wogegen die Unterprüfsummen der statischen Anteile bereits zertifiziert vorliegen würden. Des Weiteren habe die Aufteilung eines Code-Segmentes in statische und dynamische Anteile keine Auswirkung auf die Ausgestaltung der Verknüpfungsfunktion.
3.2 Die Kammer ist von diesem Argument nicht überzeugt. Anspruch 1 unterteilt ein Code-Segment zwar in statische und dynamische Anteile, gibt aber nicht an, wie die ermittelten Unterprüfsummen im Anschluss zu verknüpfen sind, um die gesamte Prüfsumme zu ermitteln. Ob sich dadurch eine Vereinfachung der Berechnung der prädi-zierten Prüfsumme ergibt, sei dahingestellt. Zumindest wird dadurch der Einwand nach Artikel 84 EPÜ gegen Anspruch 1 nicht beseitigt.
Die in den Abbildungen 8 und 9 dargestellten Verfahren zeigen unterschiedliche Ausgestaltungen zur Bildung einer prädizierten Prüfsumme in den Blöcken 817 und 917. Es ist für die Kammer auch nicht überzeugend, dass sich das mehrstufige Verfahren aus Abbildung 9 in Block 915 ohne weiteres ohne weitere Hinweise auf die Unterprüfsummen der Abbildung 8 übertragen lässt.
3.3 Der Anspruch 1 des Hilfsantrages 1 erfüllt damit nicht die Erfordernisse des Artikels 84 EPÜ.
4. Hilfsantrag 2
4.1 Die Kammer kann dem Argument der Beschwerdeführerin nicht folgen, dass außergewöhnliche Umstände im Sinne des Artikels 13(2) VOBK vorliegen, die eine verspätete Eingabe des Hilfsantrages 2 rechtfertigen.
4.2 Die Beschwerdeführerin argumentierte, dass der Antrag zulässig sei, da ihr das von der Kammer vorgebrachte Argument hinsichtlich der Schwierigkeit der Auswahl der Prüfsummenverfahren vor der mündlichen Verhandlung nicht bekannt gewesen sei. Damit kannte sie nicht alle Argumente über die mangelnde Stützung des Anspruches 1 durch die Beschreibung.
4.3 Die Kammer stellt hierzu fest, dass sich dieser Einwand bereits aus dem Ladungsbescheid, Punkt 5.4, zweiter und dritter Absatz ergibt und somit keine Überraschung für die Beschwerdeführerin darstellen kann. Es liegen daher keine außergewöhnliche Umstände im Sinne des Artikels 13(2) VOBK vor. Des Weiteren wird durch Anspruch 1 prima facie nicht der Einwand nach Artikel 84 EPÜ überwunden, und die auf Basis der Beschreibung eingefügten zahlreichen Änderungen genügen prima facie nicht den Anforderungen des Artikels 123(2) EPÜ.
4.4 Die Kammer lässt somit den Hilfsantrag 2 nicht in das Verfahren zu.
Aus diesen Gründen wird entschieden:
Die Beschwerde wird zurückgewiesen.