Befehle des Menübands überspringen
Zum Hauptinhalt wechseln
Navigation nach oben
Anmelden
Headerbild
Technische Informatik
Erfolgreich studieren.
Selektion nach Zielgruppen Go

Prof. Dr. Tobias Häberlein

 

Kontaktdaten

Hoschule Albstadt-Sigmaringen
Fakultät Informatik
Poststraße 6 / Gebäude 205
Zimmer 108
72458 Albstadt-Ebingen

Telefon 07571 / 732-9254
Mail haeberlein@hs-albsig.de

 

Sprechzeiten

während des Semesters: Dienstags 16:30 - 17:30 Uhr bzw. nach Vereinbarung

 

Verheiratet mit: Ramona Häberlein
Kinder: Carlo und Matilda


zurück zur Personenübersicht


Inhalt


Lehre

Sommersemester 2014

  • Algorithmen

Wintersemester 2011/2012

Frühere Vorlesungen an der Hochschule Albstadt-Sigmaringen:

Rechnertechnik, Numerik, Mathe I für Informatiker (Algebra, Analysis, Statistik) [Literaturempfehlung]

Frühere Vorlesungen an der Hochschule Ulm und der Uni Ulm:

Automotive Software Engineering, Funktionale Programmierung


Bücher und weitere Publikationen

Bücher
siehe auch Buch-Homepage

NEU - Bestellen Sie jetzt!

Tobias Häberlein:
Eine praktische Einführung in die Informatik mit Bash und Python

Verlag: Oldenbourg-Verlag
Erscheinungstermin: 1. August 2011

Seite beim Oldenbourg-Verlag
Seite des Autors
 

NEU - Bestellen Sie jetzt!

Tobias Häberlein:

Technische Informatik: Ein Tutorium der Maschinenprogrammierung und Rechnertechnik

Verlag: Vieweg+Teubner
Erscheinungstermin: 15. März 2011

Seite bei Vieweg+Teubner
Seite des Autors
 

Tobias Häberlein:
Einführung in die praktische Algorithmik mit Python

Arbeitstitel

Verlag: Oldenbourg-Verlag
Erscheinungstermin: voraussichtlich Sommer/Herbst 2011

 

 

Zeitschriftenartikel und Konferenzbeiträge

Tobias Häberlein, Matthias Brettschneider:
Crypto-Core Design Using Functional Programming Techniques
XXV Conference on Design of Circuits and Integrated Systems (DCIS 2010), Lanzarote, 17-19 November 2010

Tobias Häberlein, Matthias Brettschneider:
Functional Abstractions for UML Activity Diagrams
Forum For Design Languages (FDL) (peer reviewed), Southampton, UK. To be published in IEEEXplore 14-16 September, 2010

Matthias Brettschneider, Tobias Häberlein:
Von funktionalen Programmen zur Hardwarebeschreibung digitaler Filter
XL. Workshop der Multi Projekt Chip Gruppe, Konstanz, Juli 2008

Tobias Häberlein, Hannes Omasreiter:
Praktikable Wiederverwendung von Software-Entwicklungsdokumenten und -prozessen
OBJEKTspektrum, Mai/Juni 2008

Tobias Häberlein:
Die Software Revolution der Automobilindustrie - Warum Automobilbauer immer mehr wie Informatiker denken müssen
OBJEKTspektrum, März/April 2007

Tobias Häberlein, Claudia Schlumpberger:
Verteile automobile E/E-System-Entwicklung - Wie weit kann Toolunterstützung gehen?
Workshop "Koordination in verteilten Entwicklungsprojekten, Lecture Notes in Informatics, Volume 93, 2006

Tobias Häberlein, Thomas Gantner, Thomas Weber, Jörg Zimmer:
Benchmarking Automotive Software Acquisition Projects
3rd World Congress on Software Quality, Munich, September 2005

Tobias Häberlein:
Understanding Software Acquisition Through Modeling and Simulation
Logos-Verlag Berlin, 2004, ISBN 978-3-8325-0601-8

Tobias Häberlein:
Common Structures in System Dynamics Models of Software Acquisition Projects
Software Process Improvement and Practice 9: 67-80, 2004 [pdf]

Olga Jaufman, Axel Dold, Tobias Häberlein, Claudia Schlumpberger, Michael Stupperich, Niko Kleiner:
Requirements for Flexible Software Development Processes within Large Projects
Proceedings of the 5th Meeting for Quality in Information and Communications Technology (QUATIC'04), Porto, Portugal, October 2004

Tobias Häberlein:
A Framework for System Dynamic Models of Software Acquisition Projects
International Workshop on Software Process Simulation and Modeling (ProSim '03), Portland, May 2003) (Co-located with the International Conference on Software Engineering ICSE'03)

Tobias Häberlein, Thomas Gantner:
Process-Oriented Interactive Simulation of Software Acquisition Projects
First Eurasian Conference on Advances in Information and Communication Technology, Shiraz, October 2002, Lecture Notes in Computer Science 2510, pages 806-815, Springer Verlag [pdf]

Tobias Häberlein, Thomas Gantner.
GARP - The Evolution of a Software Acquisition Process Model
7th European Conference on Software Quality 2002, Helsinki, June 2002, Lecture Notes in Computer Science 2349, pages 186-196, Springer Verlag [pdf]

Tobias Häberlein:
Transformationelle Entwicklung von Hardwarebausteinen
Diplomarbeit an der Universität Ulm; 1999.

 

Neuere Vorträge

Praktische Algorithmik mit Python
Tutorial auf der 1. Deutschen Pythonkonferenz (Pycon 2011) [Details]

Entwurf von Krypto-Hardware mit Techniken der Funktionalen Programierung
Vortrag an der Universität Tübingen, 13.März 2009. [pdf]

Praktische Algorithmik mit Python
Tutorial auf der PyCon DE 2011 in Leipzig (4.10 - 9.10 2011) [Details]


Forschung - MERSES

Wir sind beteiligt an dem vom Land Baden-Würtemberg eingerichteten ZAFH-Projekt MERSES ([1], [2], [3]). Es geht um modellgestützte Entwurfsmuster für signalverarbeitende eingebettete Systeme. MERSES ist ein Forschungsverbund unter der Federführung der Hochschule Pforzheim. Beteiligt sind die Hochschulen Pforzheim, Karlsruhe, Mannheim und Albstadt-Sigmaringen und die Unis Tübingen und Karlsruhe.

Funktionale Sprachen und Hardware-Entwurf (allgemein) Wir versuchen mit Techniken der Funktionalen Programmierung (insbesondere Higher-Order-Programming) Hardwareentwüfe zu beschreiben und bestenfalls auch zu synthetisieren.

Eine Liste von funktionalen DSLs (Domain Specific Languages) speziell für den Enwturf von Hardware

  • ForSyDe: ForSyDe (=Formal System Development) ist eine DSL eingebettet in Haskell mit einem VHDL-Backend; scheint mir bisher der ausgereifteste Ansatz zu sein; allerdings ist ForSyDe auch gross und komplex (10000-Zeilen Haskell-Code; zum Vergleich: der Windowmanager XMonad hat nur 500 Zeilen Haskell-Cdoe). ModelSim und Quartus von Altera werden speziell unterstützt - bisher hab ich's leider noch nicht andocken können, weil ich es nicht geschafft habe, auf meiner Linux-Maschine Quartus zu installieren - schade... versuche es bald mal wieder
  • reFLect: Eine reflexive funktionale Sprache um Hardware zu entwickeln und zu verifizieren. Entwickelt von Intel um 2003. Dieses Paper beschreibt Syntax, Semantik und Anwendungen
  • Atom: Ebenfalls eine in Haskell eingebettete HDL --- deutlich leichtgewichtiger als ForSyDe. Kann VHDL und Verilog erzeugen
  • Hydra: Eine der ersten DSLs (Domain Specific Languages) für den Hardware-Entwurf, eingebettet in einer funktionalen Sprache. Hydra hatte im Laufe seiner langen (25 Jahre?) Geschichte eine Reihe von Träger-Sprachen; seit Mitte der 90er Jahre ist Hydra in Haskell eingebettet
  • Lava: Auch Lava ist eine DSL die in Haskell eingebettet ist. Speziell interressant: Das Lava-Tutorial. Lava ist ganz ähnlich zu Hydra. Nur das Observable-Sharing-Problem ist anders gelöst
  • MyHDL: Eine an Python angelehnte HDL
  • Überblick: auf haskell.org
  • Überblick: auf FunHDL
  • Cryptol: Cryptol ist eine funktionale Sprache speziell auf die Bedürfnisse von Entwicklern kryptographischer Algorithmen ausgerichtet. Mit einer Teilmenge von Cryptol kann man VHDL-Code (speziell für Virtex-4 und Virtex-2 Xilinx-FPGAs) erzeugen. Cryptol ist ein kommerzielles Produkt der Firma Galois und für akademische Benutzer erst kürzlich freigegeben (23.12.2008)

Arrows, Action Charts und Hardware-Entwurf

Arrows wurden von John Huges ursprünglich als Verallgemeinerung von Monaden entworfen. Während Monaden über die Struktur des Rückgabewertes einer Funktion parametriert sind, sind Arrows sowohl über die Struktur des Eingabewertes als auch die Struktur des Rückgabewertes parametriert.

Konferenzen, Workshops, Tagungen


Work in Progress

Action Charts to Haskell Arrows

  • We want to import Action Diagrams (in W3C-compliant XML) into a Haskell Graph-Datatype
  • ... and make that Graph an instance of the Haskell Typeclass Arrow
  • Which results in a executable denotational semantics of Action Diagrams

Lauching Cooperation with MIRA Consulting GmbH in Balingen

  • Information Retrieval
  • Combining Text-indexing Systems with Features from Database-Systems
  • Using Google'S MapReduce-Paradigm
  • Building semantic search features on basis of the Linked Open Data

Design of Cryptographic Algorithms

  • Java Implementation of an Elliptic Curve Cryptographic Algorithm
  • Haskell Implementation of the Skein-Algorithm
  • Haskell Implementation of an Elliptic Curve Cryptographic Algorithm
  • Haskell Implementation of Rivest's MD6 Hash Algorithms
  • Hardware Implementation (VHDL) of Threefish

Some Math Fun

  • Playing with the still unproven Collatz-Conjecture which states that the collatz sequence converges to 1 for every whole number greater than one. And the collatz sequence takes a whole number n to (n/2) if n is even, and to 3n+1 otherwise. The following Haskell function calculates the collatz sequence for a number n:
    collatz n = takeWhile (/= 1) (iterate coll n)
      where coll n = if (n `mod` 2 == 0) then n `div` 2 else 3*n+1
  • I noticed that the collatz sequence converges to 1 very fast. The following Haskell function calculates the length of the collatz sequence for every number from 1 to n:
    collatzSeqLen n = map (length . collatz) [1..n]
  • The visualization (x-axis: n, y-axis: collatzSeqLen n) gives a surprising picture:
    Playing with numbers of the form 2^n-1. What is so interesting about them? Many of these numbers are prime


Weitere Forschungsinteressen

Programmiersprachen

Funktionale Programmierung, Higher-Order Programming

  • Die schönste Programmiersprache: Haskell
    Haskell ist stark getypt, rein funktional (d.h. Haskell kennt eigentlich keine Anweisungen, sondern ausschliesslich seiteneffekt-freie Ausdrücke). Haskell hat dazu eines der ausdrucksstärcksten Typsysteme (Typklassen, Multi-Parameter-Typklassen, Higher-Order Typklassen) das in der Welt der Programmiersprachen zu finden ist.
     
    • Hal Daume et al:
      Yet Another Haskell Tutorial
      Online Haskell Tutorial
       
    • Bryan O'Sullivan, Don Stewart, and John Goerzen:
      Real World Haskell
      O'Reilly, Dezember 2008
      Eine praktische und umfassende Einführung
       
    • Richard Bird:
      Introduction to Functional Programming using Haskell
      Prentice Hall, 1998
       
  • Die praktischste Programmiersprache: Python
    Python ist einfach zu lernen, vereint klassisch imperative, objekt-orientierte und funktionale Paradigmen auf angenehm pragmatische Weise (und wird daher manchmal auch als Multiparadigmen-Sprache bezeichnet). Einiges wurde von Haskell bzw. ghci abgeschaut, so z.B. der interaktive Modus und die (genial praktischen) Listenkomprehensionen.
     
    • Guido van Rossum:
      Python Tutorial
      [Details], Februar 2008
       
    • C. H. Swaroop:
      A Byte of Python
      [Details], Es gibt auch eine englische Orginalversion
       
  • Microsofts neue Programmiersprache: F#
    Ähnlich wie Ghci und Python besitzt auch F# einen interaktiven Modus. F# ist streng getypt (wenn auch das Typsystem nicht ganz so ausgefeilt ist, wie das von Haskell). F# gleicht sehr stark der Programmiersprache ML, die wiederum Haskell ähnlich ist.
     
    • Don Syme, Adam Granicz, Antonio Cisternino:
      Expert F# (Expert's Voice in .Net)
      Apress, 2007 [Details]
       


Lebenslauf

seit September 2006
Professor an der Hochschule Albstadt-Sigmaringen im Studiengang Kommunikations- und Softwaretechnik.

Februar 2004 bis August 2006
Prozessberater für die Entwicklung von Steuergerätesoftware bei der DaimlerChrysler AG in Ulm und Sindelfingen (zwischenzeitlich auch im Auftrag des Fraunhofer Institut IESE).

Juni 2004
Promotion
Titel der Dissertation: Understanding Software Acquisition Through Modeling and Simulation.

September 1999 bis Dezember 2003
Software-Ingenieur bei der Alfaplan GmbH, Ulm.
Entwicklung, Wartung und Vertrieb von Tourenplanungssystemen.

November 1997 bis März 1998
Vollzeitpraktikum bei der Hewlett-Packard AG in Böblingen.

Oktober 1993 bis Januar 1999
Informatikstudium (Nebenfach Mathematik) an der Universität Ulm.


Literaturempfehlungen

Hier gelangen Sie zu den Literaturempfehlungen.


zurück zur Personenübersicht