Programmiersprachen
LVA 185.208, VL 2.0, 2010 S

3. Übungsaufgabe

Überblick:

Entwickeln Sie ein Workflow-Werkzeug zur automationsgestützten Bearbeitung vieler Dateien nach einem festlegbaren einheitlichen Schema. Schreiben Sie einige Programmteile (zumindest einen) in einer stark typisierten Sprache wie C, C++, Java, Haskell, ... und andere Teile (ebenfalls zumindest einen) in einer dynamisch typisierten Scripting-Sprache wie Perl, Python, PHP, Ruby, ..., sodass Sie wo sinnvoll von statischen Typüberprüfungen profitieren können, andererseits aber unnötige Einschränkungen durch Typen vermeiden. Daneben können Sie auch Shell-Scripts verwenden.

Das Workflow-Werkzeug:

Dieses Werkzeug soll einen in einer Konfigurationsdatei festgelegten Workflow abarbeiten und dabei vorgegebene Programme auf Dateien anwenden, die einem vorgegebenen Muster entsprechen. Folgende Aktionen sollen in der Konfigurationsdatei festlegbar sein: Muster in Mengen-Aktionen sollen Pfade im Dateisystem darstellen, die benannte Wildcards enthalten können. Beispielsweise könnte Bilder/2010-04-$tag$/$name$.jpg für alle Dateien entsprechend dem Unix-Pfad Bilder/2010-04-*/*.jpg stehen, wobei %tag% und %name% im Argument einer primitiven Aktion oder im Muster einer anderen enthaltenen Mengen-Aktion für die beiden Zeichenketten stehen, die im Unix-Pfad durch die beiden Wildcards (*) dargestellt werden. Die genaue Syntax für Muster (so wie in diesem Beispiel oder anders) sollen Sie selbst festlegen, genauso wie die Syntax zur Festlegung von Workflows in der Konfigurationsdatei.

Ein Workflow ist in gewisser Weise ein einfaches Programm mit bedingten Anweisungen und Schleifen. Ihre Aufgabe besteht also darin, die Syntax und einige semantische Details der Sprache festzulegen und einen einfachen Interpreter dafür zu implementieren. Bitte halten Sie Syntax und Semantik tatsächlich so einfach, dass Sie die Aufgabe leicht ohne spezielle Compilerbau-Werkzeuge lösen können.

Anwendungsbeispiele:

Obige Beschreibung des Workflow-Werkzeugs ist sehr abstrakt gehalten. Hier werden einige Anwendungsbeispiele angerissen, die den Zweck klarer umschreiben und auch als Testfälle dienen können. Diese Beispiele zeigen einerseits, dass es zahlreiche Einsatzmöglichkeiten gibt, andererseits aber auch, dass der Einsatz sehr oft spezielle Scripts bzw. Programme als primitive Operationen benötigt. Suchen Sie eine gute Antwort auf die Frage, mit welchen Werkzeugen und Programmiersprachen solche Scripts bzw. Programme am einfachsten zu erstellen sind.
Complang
Puntigam
   Kontakt
   Research
   Lehre
      OOP
      Typsysteme
      EP2
      FOOP
      Prog.spr.
      frühere Lehre
         LVAs 2017 W
         LVAs 2017 S
         LVAs 2016 W
         LVAs 2016 S
         LVAs 2015 W
         LVAs 2015 S
         LVAs 2014 W
         LVAs 2014 S
         LVAs 2013 W
         LVAs 2013 S
         LVAs 2012 W
         LVAs 2012 S
         LVAs 2011 W
         LVAs 2011 S
         LVAs 2010 W
         LVAs 2010 S
            Prog.spr.
               1. Aufgabe
               2. Aufgabe
               3. Aufgabe
            FOOP
         LVAs 2009 W
         LVAs 2009 S
         LVAs 2008 W
         LVAs 2008 S
         LVAs 2007 W
         LVAs 2007 S
         LVAs 2006 W
         LVAs 2006 S
         LVAs 2005 W
         LVAs 2005 S
         LVAs 2004 W
         LVAs 2004 S
         LVAs 2003 W
   Links
Sitemap
Kontakt
Schnellzugriff:
vorige Aufgabe
Fakultät für Informatik
Technische Universität Wien
Anfang | HTML 4.01 | Datenschutzerklärung | letzte Änderung: 2010-04-28 (Puntigam)