PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : abstrakte Datentransformation zwischen versch. Binärformaten


Calif
2008-02-08, 11:45:05
Guten morgen,

ich sehe vor der Aufgabe ein Binärpaket in ein anderes Binärpaket übersetzen zu müssen. Dies wäre ja auch gut machbar, allerdings möchte ich das ganze sehr offen halten. Das heißt, es soll erstmal das Eingabepaket A in Paket B transformiert werden. Allerdings soll bald Paket A auch in ein Paket C konvertiert werden. Ich möchte mit Paket C dann lediglich eine Schnittstelle implementieren und so wenig wie möglich neu implementieren. Das heißt mit einigen Beschreibungen wie C aussieht, soll sich A auf C dann von selbst transformieren. Um das noch weiter zu treiben, soll das Eingabepaket A mal durch ein Paket D ersetzt werden, was es bisher noch nicht gibt aber auch ohne Änderung an der Transformation zu B und C bauen lassen soll.

Diese Datenpakete drehen grundsätzlich ums gleichen Thema, sind aber im Details schon sehr anders; d.h. anderer Aufbau was Datentypen und Inhalte angeht. Auch hatte ich überlegt mir ein Zwischenpaket zu bauen und die Transformationen immer nur vom und zum Paket zu beschreiben. Da wäre mir aber etwas softwaretechnischeres lieb.

Ich habe mal gehört, daß man Sprachen irgendwie mit einer Transformationsgrammatik in andere konvertieren kann. Evtl. geht ja hier etwas ähnliches. Ich würde am liebsten eine direkte Transformation von einem in ein anderes Format erreichen und jeweils nur die Ein- und Ausgabeschnittstellen abstrakt beschreiben.

Hat jemand Ideen, wie man sowas umsetzen kann?

Calif
2008-02-13, 08:39:55
Keine eine Idee, wie ich da am Besten vorgehe?

Gast
2008-02-13, 11:59:56
Das mit dem "Binärpaket" bereitet mir ein wenig Sorgen.

Geht es um ein Klassenentwurf / Objekte im klassischem Sinne, würde ich eine Schnittstelle (Interface) empfehlen, welches (natürlich vorausschauend) alle Informationen beinhaltet bzw. bereitstellt.

Jede Klasse / Objekt welches dieses Interface integriert, muss halt zuschauen, wie es seine individuellen (!) Eigenschaften auf das INTERFACE-SCHEMA mapt!!!

Habe ich irgendwann eine Objekt D und es soll sich in A konvertieren lassen, geht es so:

A.transforminterface_set = D.transforminterface_get


Das D nun völlig anders aufgebaut ist, als es in A (oder B, C) der Fall ist, spielt keine Rolle, solange überall das gleiche Interface und dadurch eine Art "Vereinbarung" über die Funktionen nach außen hin gewährleistet ist...

Geht es in diese Richtung?


Ein reines Binärpaket wäre nunmal NUR ein "Datenklotz" ohne "Intelligenz", sprich ohne Funtionen etc.

Ich würde also mit Klassen / Objekten arbeiten und dein Binärpaket, sprich deine Daten, in den Klassen / Objekten aufbewahren, welche auf Anfrage hin die Daten preisgeben und sich so entsprechend auf ein anderes Objekt kopieren lassen können...