Automatonklasse interface vs. abstrakte Klasse

PG A4
Verfügbare Informationen zu "Automatonklasse interface vs. abstrakte Klasse"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Björn
  • Forum: PG A4
  • Forenbeschreibung: Forum zur Projektgruppe A4 07/08
  • aus dem Unterforum: Allgemeines
  • Antworten: 1
  • Forum gestartet am: Montag 02.04.2007
  • Sprache: deutsch
  • Link zum Originaltopic: Automatonklasse interface vs. abstrakte Klasse
  • Letzte Antwort: vor 17 Jahren, 29 Tagen, 1 Stunde, 42 Minuten
  • Alle Beiträge und Antworten zu "Automatonklasse interface vs. abstrakte Klasse"

    Re: Automatonklasse interface vs. abstrakte Klasse

    Björn - 20.04.2007, 15:21

    Automatonklasse interface vs. abstrakte Klasse
    Betrachten wir als erstes mal die Methoden union und intersect der Automatonklasse und der hiervon abgeleiteten Klassen.
    Diese beiden Methoden sollten wir entweder aus der Automatenklasse entfernen, oder in der Dokumentation deutlich machen, dass nur wenn die beiden Automaten T,S genau dieselbe von Automaton abgeleitete Klasse ist es keine Exception gibt (siehe Sourcecode). Außerdem obwohl intersect und union von einem FiniteAutomaton und z.b. einem BuchiAutomaton Sinn macht, liefern diese Methoden nicht wirklich das gewünschte Resultat.
    Oder als Dritte Möglichkeit die klasse Automaton nur als Oberklasse von Automaten die genau die regulären Sprachen akzeptieren ansehen. Und dann eine Oberklasse für die OmegaAutomaten, denen wir keine Methoden intersect(OmegaAutomaton O) spendieren sondern nur eine intersect(Automaton A) - analog für die Methode Union.
    Die Dritte Variante würde uns es auch erlauben (später, falls wir dazu kommen) einfach eine (Abstrakte) Oberklasse für Pushdown Systeme/PushdownAutomaten zu definieren denen wir dann eine Methode intersect(Automaton A) spendieren als auch eine Methode intersect(OmegaAutomaton O), wobei es für letzteres wohl cleverer wäre aus den oben genannten Abstrakten Klassen Interfaces zu machen (d.h. wir schreiben nur vor welche Methoden die jeweiligen implementierenden Klassen haben müssen, vor allem da wir für die Methode intersect(OmegaAutomaton O) eine, von beiden Klassen, OmegaAuomaton und der abstraktenKlasse der PDAs,erbende Klasse implementieren müssen (z.b. bei BüchiPDS brauchen wir eine akzeptanz bedinung für die Kontrollzustände die der Büchi-Akzeptanzbedinung entspricht). Analog für die Methode Union.

    Also nochmal zusammenfassend, um auch eine gute performance zu gewährleisten (und um den Diplomanden entgegen zukommen) und nicht zu viel Speicher zu Verschwenden sollten wir aus der abstrakten Automaton Klasse ein interface machen - und damit der jeweiligen implementierenden klasse überlassen welche Attribute diese braucht bzw. wie die jeweiligen methoden realisiert werden sollen. Vielleicht sollten wir die Methoden der Automatonklasse dabei auch auf Zwei Interfaces verteilen - also unterscheiden zwischen Methoden die für die Visuelle Darstellung der Workspace und das Einfügen von Zuständen/Transitionen über die GUI gebraucht werden und den methoden die für die Funktionsweise der Automaten notwendig sind. Und Büchi-Automatons aus der hierarchie entfernen, und ein Interface OmegaAutomaton (oder auch hier zwei interfaces eins für die Darstellung in der Gui das andere für die Funktionsweise) entwerfen.
    Dasselbe könnten wir dann auch für Baumautomaten und PushdownAutomaten machen.

    Hierbei würde vor allem die Aufspaltung der (benötigten/benutzten) Methoden
    erlauben auch andere implementierungen relativ einfach in der Gui darzustellen, da sie nur das jeweilige GUI-interface implementieren müßten.


    Dies wie gesagt erstmal nur ein Vorschlag diskutieren etc. können wir ja das ganze nächste Woche wenn wir ns treffen.

    ps Werde im Laufe des Wochenendes auch noch auf andere Sachen eingehen (bzw. hier weiter ins Detail gehen), und ein Punkte dazu (zum nachdenken) auch ins Forum posten.



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum PG A4

    2. August - gepostet von Steve am Donnerstag 02.08.2007



    Ähnliche Beiträge wie "Automatonklasse interface vs. abstrakte Klasse"

    Verwandlung-5.Klasse - Minerva McGonagall (Samstag 05.05.2007)
    Bilder der Klasse TAI05c! - atilla (Mittwoch 14.09.2005)
    Unsere neue Klasse - maxting (Mittwoch 06.09.2006)
    Klasse 8c - terry68 (Sonntag 08.10.2006)
    Wie seid ihr zu eurer Rasse / Klasse gekommen? - Nori (Freitag 22.06.2007)
    Über die Mädchen aus der Klasse - Samet (Mittwoch 15.11.2006)
    Klasse! - ast263 (Montag 04.12.2006)
    topic für 7.klasse - käsekille (Montag 14.03.2005)
    Ich bin auch da,und finds Klasse! - Sunto1985 (Sonntag 11.06.2006)
    11. Klasse Geschichte - schule (Mittwoch 24.01.2007)