02.11.2013 Aufrufe

PDF, 97KB - Westfälische Wilhelms-Universität Münster

PDF, 97KB - Westfälische Wilhelms-Universität Münster

PDF, 97KB - Westfälische Wilhelms-Universität Münster

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Kapitel 2: Das Konzept „Algorithmus“<br />

Modell<br />

Problemstellung<br />

Problemformalisierung<br />

Idee/<br />

Anwendungswissen<br />

trickreiches,<br />

elegantes<br />

Design der<br />

„Programmbeschreibung“/<br />

Problem-<br />

Lösungs-<br />

Wissen<br />

Testen<br />

informeller Algorithmus<br />

schrittweise Verfeinerung<br />

Pseudocode/<br />

abstrakte Datentypen<br />

Programm/<br />

Datenstrukturen<br />

informeller Algorithmus<br />

Optimierung/<br />

Schutz des<br />

Bytecodes<br />

ausführbarer<br />

Maschinencode<br />

Abbildung 3: Entstehungsprozess von Algorithmen<br />

Wie aus der graphischen Darstellung zu erkennen ist, gibt es für eine Problemstellung<br />

oftmals mehrere Algorithmen. Dieser Fakt wird an späterer Stelle ausführlich<br />

aufgegriffen. In der juristischen Frage nach der Schützbarkeit von Algorithmen ist es<br />

mithin von großer Bedeutung, beurteilen zu können, welche Algorithmen überhaupt<br />

eines Schutzes bedürfen. Zumeist sind solche Algorithmen von Interesse, welche<br />

Probleme besonders effizient oder im Vergleich zu anderen Algorithmen, welche<br />

dieselbe Spezifikation besitzen, signifikant besser lösen können.<br />

2.3 Reverse Engineering - vom Maschinencode zum Quellcode<br />

Unter dem Reverse Engineering versteht man das Zurückübersetzen vom schwer<br />

lesbaren Maschinencode in den Quellcode. Es wird realisiert durch die Technik des<br />

Dekompilierens. Dieses Rückübersetzen ist nicht ohne einen gewissen Verlust möglich.<br />

Überdies ist Dekompilieren nur für sehr wenige Programmiersprachen (wie z.B. Java)<br />

auf eine sinnvolle Art und Weise möglich. In Java wird z.B. der Quellcode in den<br />

Bytecode für eine virtuelle Maschine übersetzt. Dieser enthält noch alle relevanten<br />

13

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!