Überblick über die Sprecher und ihre Vorträge für den Big Techday 3 am Freitag, den 28.5.2010

Hier geht's zur Programmübersicht. 

Computergestützte Physik

The Square Kilometre Array: a global iconic project

Prof. Steve Rawlings, PhD, Astrophysics Department, Oxford University; vormals Vorsitzender der International Science Working Group des Square Kilometre Array (SKA)

Europe currently leads the global Square Kilometre Array (SKA) project: a future radio telescope aimed at answering fundamental questions about our Universe, and requiring significant technological innovation in electronics, ICT and green energy. The reach of SKA research will be broad, namely: astroscience; detection, processing and analysis of data via hardware and software solutions of generic use, e.g. in medical sciences; renewable energy; defence and space science. The impact of the SKA makes it a priority for international funders working alongside commercial and non-commercial partners where it has direct impact for grand challenges such as security, the energy industry and leading edge computing. As a science project of truly global scale addressing some of mankind’s most fundamental questions, it will build human capital and knowledge transfer and act as an inspirational tool with unprecedented potential for discovery. As a driver of innovation, Bruce Elmegreeen from IBM has noted that the SKA will “generate new ways of doing ICT that could revolutionize the world”. Comprising a collecting area of a million square metres, formed by several thousand receiving dishes and arrays of novel receiver technologies SKA will be constructed in either Southern Africa or Western Australia (the decision will be made in 2012).

What has physics ever done for IT? - Warum die IT ohne die Physik heute ganz anders wäre.

Dr. Christian Kaiser, TNG

Viele Errungenschaften der IT, die heute selbstverständlich sind, gehen auf Physiker zurück. Jeder kennt die Geschichte des Internets, die am CERN begann. Aber nur wenige würden Astrophysiker hinter solchen heute alltäglichen Technologien wie Wi-Fi vermuten. Innovationsschübe in der physikalischen Grundlagenforschung haben fast immer neue Ideen und Technologien in der IT ausgelöst, auch wenn das nicht immer so offensichtlich ist.

What has physics ever done for IT? Eine ganze Menge und es wird noch Einiges kommen.

Computergrafik

Fortschritte in der Computergrafik

Prof. Dr. Marc Stamminger, Universität Erlangen, Lehrstuhl für Graphische Datenverarbeitung

Computergrafik ist heute allgegenwärtig, sei es in Computerspielen, in Kinofilmen oder im Heute-Journal. Gerade in den letzten zehn Jahren gab es dabei einen enormen Entwicklungsschub. Effekte, an denen früher Rechner tagelang rechnen mussten, sind heute in Echtzeit, das heißt in wenigen Millisekunden, möglich. Hauptgrund ist die rasante Steigerung der Leistungsfähigkeit von Grafikkarten und neue Darstellungsverfahren, die die hohe parallele Rechenleistung der Grafikkarten auch optimal ausnützen.

In dem Vortrag werde ich an Beispielen aus unterschiedlichsten Anwendungsbereichen zeigen, was Computergrafik heute kann und ich werde versuchen einen Ausblick zu geben, was mittelfristig möglich sein wird und wo die Herausforderungen liegen.

Work hard, play harder - Skalierbare GPGPU Programmierung, große Laser und warum ich die Crysis Spiele-Engine liebe

Dr. Michael Bussmann, Forschungszentrum Dresden-Rossendorf, Projektgruppe Laser-Teilchenbeschleunigung

Aktuelle Grafikkarten können eine Fließkomma-Leistung von mehreren TFLOPS liefern. Sie sind daher eine interressante Plattform für preiswertes, energieeffizientes Höchstleistungsrechnen. Eine GPU-getriebene Simulations-Software für echte Physikanwendungen benötigt eine hierarchische Strukturierung der Berechnungs- und Kommunikationsaufgaben, welche weit über die einfache Meldungsübergabe im heutzutage weit verbreiteten Hochleistungsrechnen (HPC) hinausgeht. Ich werde eine GPGPU Implementierung für eine Laser Plasma Simulation präsentieren, die auch auf große Rechencluster skaliert und führe Performancewerkzeuge ein, die gleichzeitig Informationen über die Prozessausführung auf CPUs und GPUs liefern. Zuletzt werde ich vorstellen, warum ein hierarchisches Algorithmen-Design unumgänglich ist, wenn man auf stark skalierbare Simulationen abzielt und wie dies in Zukunft die Softwareentwicklung in der Wissenschaft beeinflussen wird.

Softwaretechnik

Geschäftsregelmanagement - Rule-Engines in Mobilfunk, Lebensversicherung und Gesundheitswesen

Dr. Sebastian Stamminger, TNG

Geschäftsregeln können schnell eine unüberschaubare Komplexitäterreichen, sei es bei der Aufbereitung von Gesprächsdaten aus dem Mobilfunknetz,der Validierung von Versicherungsanträgen oder der Prüfung vonArztrechnungen.Wie mit dieser Herausforderung in der Praxis umgegangen wird und welcheErfahrungen mit Rule-Engines dabei gesammelt werden konnten, wird derVortrag anhand von Projekten aus Mobilfunk, Lebensversicherung undGesundheitswesen beleuchten.

Jeder Softwareentwickler hat heutzutage zunehmend mit einer höheren Änderungsfrequenz und sich ständig neu definierenden Anforderungen zu kämpfen. Die Zeiten von allein selig machenden Architekturen sind vorbei - und nur das hinzufügen von Unit Testing löst das Problem leider nicht. Dieser Vortrag zeigt wie man seine Architekturen auswählt, am Leben erhält und auf die neuen Herausforderungen bei sich dynamisch entwickelnden Webanwendungen anpasst. Zudem zeigen wir, wie wir typische Probleme und Fallen, die jeder Entwickler kennt, vermeiden.

Woher kommen Software-Fehler?

Prof. Dr. Andreas Zeller, Universität des Saarlandes, Lehrstuhl für Softwaretechnik

Jeder Programmierer kennt die Situation: Ein Programm läuft nicht so, wie es soll. Andreas Zeller stellt Techniken vor, die automatisch (a) Programmfehler finden - indem wir aus dem Code "normale" Anweisungsfolgen lernen und nach Abweichungen suchen; (b) die Ursachen eines Fehlverhaltens finden - indem wir genau die Aspekte isolieren, die das Zustandekommen eines Fehlers verursachen; und (c) vorhersagen, wo in Zukunft Fehler auftreten werden - indem wir maschinell lernen, welche Code- und Prozesseigenschaften bisher mit Fehlern korrelierten. Fallstudien an echten Programmen mit echten Fehlern, von AspectJ über Firefox zu Windows demonstrieren die Praxistauglichkeit der vorgestellten Verfahren.

Andreas Zeller ist Professor für Softwaretechnik an der Universität des Saarlandes in Saarbrücken. Sein Forschungsgebiet ist die Analyse großer Software-Systeme und deren Fehler. Sein Buch "Why Programs Fail - A Guide to Systematic Debugging" wurde 2006 mit dem Jolt Software Development Productivity Award ausgezeichnet.

Welches ist die beste Programmiersprache?, oder: Es geht nichts über ein gepflegtes Vorurteil, oder: Truth is stranger than fiction

Prof. Dr. Lutz Prechelt, Professor der Informatik und Leiter der Software Engineering Research Group an der Freien Universität Berlin

Es gibt ein Thema, bei dem jeder Programmierer leidenschaftlich wird: Programmiersprachen. Ein Grund, aus dem die Religionskriege in dieser Sache nun schon seit Jahrzehnten andauern, liegt darin, dass es so wenig harte Daten mit aussagekräftigen und fairen Vergleichen von Sprachen gibt. Dieser Vortrag stellt ein paar solche Daten vo

  • Eine Studie, die über 70 Implementierungen von verschiedenen Programmierern in 7 Sprachen vergleicht: C, C++, Java, Perl, Python, Rexx, Tcl.
  • Eine Studie, die 9 Implementierungen der gleichen Webanwendung vergleicht, die von 9 professionellen Dreipersonenteams mit 3 verschiedenen Web-Plattformen geschrieben wurden: Java, Perl, PHP.

Einige Ihrer Vorurteile werden bestätigt, andere kräftig erschüttert werden!

 

Maschinelle Lernverfahren

Stand der Technik im Maschinellen Lernen: Nicht-parametrische bayesische Methoden

Maike Kaufman, Robotics Research Group, Department of Engineering Science, University of Oxford

Nicht-parametrische bayesische Methoden haben in den letzten Jahren aufgrund ihrer Möglichkeiten statistischer Schlußfolgerung ohne "Überanpassung" in Modellen mit unbegrenzter Anzahl freier Parameter für viel Interesse im Bereich maschinelles Lernen gesorgt. Aktuelle Fortschritte in der Theorie, zusammen mit kontinuierlich gestiegener Rechneleistung, erlauben ihre Anwendung auf Datensätze von beachtlicher Größe und Komplexität.

Ich werde einen Überblick über ein bayesisches nicht-parametrisches Framework geben und einige der meistbenutzten Methoden zusammen mit Anwendungsbeispielen vorstellen.

Algorithmic Trading

Dr. Bernd Schönwälder, Geschäftsführer, Nickwoods GmbH

Die Debatte über die Funktion der Finanzmärkte und die Ursachen ihres Versagens ist in vollem Gang. Selten wird dabei angemessen deutlich, dass die Mechanik der Märkte inzwischen von vollautomatisierten Serverinfrastrukturen bestimmt wird. In den Schlüsselmärkten werden 60%-70% aller Transaktionen ohne den Umweg über einen menschlichen Entscheidungsträger in spezialisierten High-Performance-Datacentres generiert - das Ringen um die Ausschöpfung des technologisch Machbaren ist zum kostspieligen Wettrüsten für alle Teilnehmer geworden.

The bleeding edge of algorithmic trading: Mit Praxisbeispielen und Live-Demos beleuchte ich technologische Herausforderungen, Funktionsweise und Risiken dieser üblicherweise völlig abgeschirmten Technikwelt.

Hardcore Coding

C++ gehört zu den meistbenutzten Sprachen in der Softwareentwicklungslandschaft. Aber C++ wurde seit 1998 nicht mehr wesentlich überarbeitet. Seit damals und heute sind viele neue und erfolgreiche Programmiersprachen aufgetaucht. Und viele davon weisen Features auf, die C++ fehlen. Bis jetzt. Der neue, fast finale C++ Standard (C++0X) fügt diese fehlenden Stücke hinzu, und noch einiges mehr. C++ ist wieder da!

Eine Coding-Kata ist eine praktische Herangehensweise, um Best-Practices in der Softwareentwicklung zu erlernen. Erfunden von Dave Thomas und inspiriert durch fernöstliche Kampfsportarten, ist sie eine Übung, um durch mehrfache Wiederholung Entwicklern zu helfen, die eigenen Programmierfähigkeiten zu verfeinern.

Achtung! In dieser Präsentation gibt es Source-Code zu sehen.

Neue Programmierparadigmen

Scala ist eine universelle Programmiersprache, die entwickelt wurde um übliche Programmierparadigmen in einer klaren, eleganten und typ-sicheren Weise auszudrücken. Sie integriert einfach die Möglichketen von objekt-orientierten und funktionalen Programmiersprachen und ermöglicht es damit Java- und anderen Programmierern produktiver zu sein. Die Codegröße wird typischerweise um einen Faktor zwei bis drei reduziert im Vergleich zu einem entsprechenden Javaprogramm.

Artificial Intelligence goes Mainstream

Was passiert, wenn Science Fiction auf Kriegsschauplätzen zur Realität wird? Ein erstaunliche Revolution findet auf dem Schlachtfeld statt, die anfängt nicht nur Einfluß auf die Art und Weise zu nehmen, wie Kriege geführt werden, sondern auf die Kriegspolitik, -wirtschaft, -recht und -ethik selbst. Diese Veränderung ist schon im Gange - ferngesteuerte Dronen heben Stellungen von Terroristen in Afghanistan aus, während die Anzahl unbemannter Systeme am Boden im Irak von Null auf 12000 gestiegen ist in den letzten fünf Jahren. Aber das ist nur der Anfang. Armeeoffiziere geben hinter vorgehaltener Hand zu, dass neue Prototypen schon bald menschliche Kampfpiloten überflüssig machen werden, während im Pentagon Kleinstroboter in der Größe von Fliegen wissenschaftlich untersucht werden, um Aufklärungsarbeit, die bisher speziellen Elite-Einsatztruppen vorbehalten waren, zu übernehmen.

Methodologie

Scrum per se definiert keine Anforderungen an die Programmierpraxis und die technische Umgebung, in der Projekte umgesetzt werden. Wir zeigen in diesem Vortrag, wie die Prinzipien hinter Scrum und agiler Software-Entwicklung - richtig angewandt - Projekten helfen können, technische Exzellenz zu erlangen. Basierend auf Best Practices aus der langjährigen Erfahrung in zahlreichen agilen Projekten stellen wir vor, wie

  • die Automatisierung der Build- und Deployment Pipeline durch die Forderung des "potentially shippable product increment" vorangebracht wird
  • die Erfüllung nicht-funktionaler Anforderungen durch cross-funktionale Teams sichergestellt wird
  • eine tragfähige Software-Architektur ohne Over-Engineering durch die inkrementelle, von konkreten Anforderungen getriebene Entwicklung gewährleistet wird
  •  

Die Diskussionen um das richtige Vorgehensmodell in Projekten haben durch Kanban, eigentlich eine Methode der Produktionsablaufsteuerung, durch die Adaption auf IT-Projekte neuen Schwung bekommen. Der Vortrag beleuchtet von der Scrum-Sicht ausgehend, was an Kanban dran ist, wo es sich einsetzen lässt, und wie man Scrum durch Kanban-Ansätze weiterenwickeln kann.

Daten- und Ereignisverarbeitung

Von Entwicklungsprojekten im Bereich Business Intelligence und (mehrtechnisch) Datawarehousing (DWH) wird meist kurze Reaktionszeit sowie schnelle Durchführung erwartet. Ein Einsatz agiler Entwicklungsmethodiken bietet sich also an. Eine besondere Herausforderung besteht allerdings darin, dass bei DWH-Projekten neben Änderungen an der Verarbeitungslogik auch Änderungen an extrem großen Bestandsdatenmengen vorgenommen werden müssen.

Wir beleuchten, wie sich agile Techniken im Datawarehousing Umfeld anwenden lassen, um nachhaltig auch bei wachsender Komplexität in kurzen Zyklen neue Funktionalität zu liefern, die zudem hohen Qualitätsansprüchen genügt.

Twitter als Web 2.0 Phänomen ist inzwischen weit über sein hippes Image hinausgewachsen. 50 Millionen Tweets pro Tag machen Twitter zu einer ausgezeichneten Datenquelle für alles, was mit sozialen Interaktionen zu tun hat. Während Twitter erwachsen wurde, ist das Complex Event Processing (CEP) noch eher Buzz Word als konkrete Anwendung, obwohl es sich schnell zu einem Zukunftsmarkt entwickelt. Mittels geschickter Kombination von etablierten Technologien aus der Telekommunikation, Rules Engines und Smartphone-Apps werden wir eine neue Social Network Plattform auf Basis von Twitter in einer Live Demo zeigen und die Grundlagen von CEP sowie der eingesetzten Techniken erklären.