Dirk Raffel, Freelance Software Consultant Curriculum vitae

Transcrição

Dirk Raffel, Freelance Software Consultant Curriculum vitae
Dirk Raffel, Freelance Software Consultant
KONTAKT
Curriculum vitae
Dirk Raffel
Am Zirkus 3a
10117 Berlin
Germany
Mobil: +49-172-39-32-111
E-mail: [email protected]
WWW: www.dirkraffel.com
Z USAMMEN FASSUNG
Mehr als 14 Jahre Berufserfahrung als Software Consultant, Solution Architect, Projektleiter und Entwicklungsleiter. Schwerpunkt im Bereich System-Konzeption und SoftwareArchitektur für technische Anwendungen, insbesondere On-Board-Computer, Steuergeräte, Automotive-Anwendungen, Infotainment-Lösungen, Multimedia-Streaming, Textto-Speech Systeme, modernste Web-Anwendungen, (Web-)GIS, Web-Mapping. Umfangreiche Expertise in den Anwendungsbereichen Öffentlicher Personennahverkehr,
Bahntechnik, Automotive und Verkehrstelematik.
N ATIONALIT ÄT
Deutsch
J AHRGANG
1971
AUSBILDUNG
Universität Duisburg-Essen, Duisburg
Studium Elektrotechnik, Duisburg, 1990 – 1996.
Abschluss Dipl.-Ing. Elektrotechnik (univ.); Schwerpunkt: Kommunikationstechnik.
Gesamtnote: Sehr gut.
Diplomarbeit am Fraunhofer-Institut für Mikroelektronische Schaltungen und Systeme (IMS), Duisburg: “Entwurfsoptimierung anwendungsspezifischer Systeme mittels mathematischen, Petri-Netz-basierenden Untersuchungsmethoden”.
PATENTE
Grinewitschus, Viktor; Raffel, Dirk; 1999. Method for controlling a direct current drive.
U.S. Patent 6,005,361, filed July 13, 1998, and issued December 21, 1999.
International Patent PCT/EP1996/005850 issued July 24, 1997.
Erteilt an Fraunhofer-Gesellschaft (resultierend aus Studienarbeit am Fraunhofer-IMS
zum Thema: “Entwicklung und Implementierung eines Verfahrens zur modellgestützten
Fehlererkennung an mikrocontroller-gesteuerten Gleichstromantrieben”).
B ERUFS -
Freelance Software Consultant
Bombardier Transportation, Berlin
ERFAHRUNG
Dynamische Kartenanzeige in Schienenfahrzeugen
Jan 2011 - aktuell
• Als Software Berater verantwortlich für Konzeption und Entwicklung einer Web
Mapping Lösung zur Anzeige des Laufweges und der aktuellen Position des Zuges auf einer digitalen Landkarte zur Fahrgastinformation auf TFT Innendisplays
in Fernverkehrszügen.
• Erstellung von georeferenzierten Reliefkarten aus digitalen Höhenmodellen (DEMDaten) mit GDAL-Tools.
• Verwendung von MapServer für das Rendern von Vektordaten wie z.B. Landesgrenzen, Ortsnamen, Flüsse, Bahnlinien etc. und TileCache als WMS-C Server.
• Routing-Funktionalität für Schienennetz basierend auf pgRouting und PostGIS
Datenbank.
• Client-Side Funktionalität über OpenLayers und Integration der dynamischen
Karte in eine Infotainment Web Applikation für TFT Innendisplays.
p. 1 of 7
Raffel, p. 2 of 7
• Vollständig basierend auf State-of-the-art Open Source GIS-Technologien.
• Technologien: MapServer, WMS, GML, TileCache, OpenLayers, GDAL/OGR,
DEM data (e.g. SRTM, ETOPO1), PostgreSQL, PostGIS, pgRouting, JavaScript,
jQuery, require.js, lighttpd, WebKit.
Freelance Software Consultant
Bombardier Transportation, Berlin
Infotainment Web Applikation in Schienenfahrzeugen
Sep 2010 - aktuell
• Als Software Berater federführend bei Architektur und Entwicklung einer Infotainment Web Anwendung unter Verwendung von neuesten Web Technologien
für die Realisierung von visuellen Fahrgastinformationen auf TFT Innendisplays
in Nahverkehrszügen.
• Dynamische Linienverlaufsanzeige bezogen auf Position des Zuges entlang des
Laufweges und Visualisierung von Verbindungshinweisen etc.
• HTML5 WebSocket-basierte Kommunikation mit Fahrgastinformationssystem,
Interfaces und generische Simulationsumgebung basierend auf JSON-Schema.
• Sichere Einbindung von third-party scripted pages durch Verifikation auf ADsafe
Konformität.
• Test-Umgebung auf Basis von node.js
• Technologien: JavaScript, require.js, node.js, express, Node WebSocket Server, ADsafe, jQuery, inputEx, YUI, JSON, JSON schema, WebKit, WebSockets,
lighttpd.
Freelance Software Consultant
Bombardier Transportation, Berlin
Audio Streaming für Text-To-Speech Ansagen
Aug 2010 - Aug 2011
• Als Software Consultant verantwortlich für Integration einer Text-To-Speech (TTS)
Engine (Nuance Vocalizer for Automotive) für automatische Ansagen in Schienenfahrzeugen.
• Konzeption und Entwicklung eines RTSP Streaming Servers für On-Demand
Streaming von Audio-Dateien und Live-Audio der TTS Stimme zum Audio Ausgabesystem.
• Entwicklung eines Embedded Web Interfaces für Konfiguration und Test des
Streaming Servers.
• Technologien: PowerPC platform, Embedded Linux, C++, GCC, Boost, Qt4-Core
(Qt 4.6), Lua 5.1, toLua++, JavaScript, jQuery, jQuery UI, JSON, AJAX, FastCGI,
lighttpd, Live555 library, RTSP/RTP protocols, Nuance Vocalizer for Automotive,
Eclipse CDT, ClearCase, ClearQuest.
Freelance Software Consultant
Bombardier Transportation, Berlin
Automatische Fahrgastzählung in Schienenfahrzeugen
Jul 2008 - Jul 2010
• Verantwortlich für Konzeption und Entwicklung einer Steuergerät-SW für Fahrgastzähl- und Fahrzeitanalyse-Systeme (AFZ) in Nahverkehrszügen auf Basis
des IP-Train Ethernet Network - Bombardier MITRAC Train Control and Management System (TCMS). Ebenfalls involviert beim Reengineering von Fahrgastinformationssystemen (FIS).
• Verwendung des Bombardier IPTCom Ethernet Communication Stack for Railway applications für die Kommunikation mit den verschiedenen Systemkomponenten im Fahrzeug.
• Systemprogrammierung in C++mit Boost, Qt 4 auf Embedded Linux/PowerPC
Plattform. UML Modellierung der Software-Architektur mit Enterprise Architect.
Raffel, p. 3 of 7
• Weitere Hauptmerkmale: Anbindung der Fachanwendung im Fahrzeug an das
Hintergrundsystem über eine GPRS-Kommunikationsschnittstelle Zug-Backoffice.
Integration des Systems in die Fahrzeugdiagnose. Integration mit Lua Scripting
für AFZ Simulation und Testumgebung.
• Entwicklung eines Embedded Web Interfaces für Konfiguration und Test des
Systems.
• Technologien: PowerPC platform, Embedded Linux, C++, GCC, Boost, Qt4-Core
(Qt 4.6), XBinder, Lua 5.1, toLua++, UML, SysML, Enterprise Architect (Sparx
Systems), JavaScript, jQuery, jQuery UI, JSON, AJAX, FastCGI, lighttpd, Eclipse CDT, ClearCase, ClearQuest.
Freelance Software Consultant
EFKON Germany GmbH, Berlin
Fahrzeug-Telematikplattform für Mautsysteme
Mar 2008 - Jun 2008
• Spezifikation und Entwurf eines Application Layer Protocols zum Austausch
von Daten zwischen Onboard-Unit und dem Electronic Tolling Back Office über
TLS/TCP via GSM/GPRS. Streaming von XDR-kodierten Accounting Records
ähnlich zu RFC 3423 (XACCT’s CRANE protocol).
• POSIX Referenz-Implementierung mit GnuTLS.
• Software-Spezifikationen für CEN TC278 DSRC Kommunikation mit Roadside
Equipment (Baken, mobiles und stationäres Enforcement).
• Technologien: Linux, C, POSIX, pthreads, XDR, rpcgen, GnuTLS, Valgrind, Doxygen, Enterprise Architect (Sparx Systems).
Head of Development
DILAX Intelcom GmbH, Berlin
Festanstellung
Sep 2001 - Mar 2008
• Angestellt bei einem weltweit führenden Anbieter von Systemen zur automatischen Fahrgastzählung und Fahrverlaufsanalyse in Nahverkehrsfahrzeugen &
führender OEM-Lieferant für namhafte Zughersteller, ca. 50 Mitarbeiter.
• Erteilung von Prokura 11/2003 & Mitglied der erweiterten Geschäftsführung.
• Verantwortlich für F&E, Konzeption und Durchführung von Inhouse Entwicklungsprojekten und die Entwicklung von neuen Produktstrategien.
• Personalverantwortung für bis zu 8 Mitarbeiter. Kooperativer, konsensorientierter Führungsstil.
• Verantwortlich für den Bereich Entwicklung bei der erfolgreichen ISO 9001:2000
Zertifizierung des Unternehmens.
Enterprise Web Application für AFZ Datenmanagement
Jan 2004 - Mar 2008
• Konzeption und Entwicklung einer J2EE Web Applikation für das Datenmanagement von Systemen zur automatischen Fahrgastzählung und Fahrverlaufsanalyse (AFZ) in Nahverkehrsfahrzeugen.
• Entwurf eines neuartigen modellgestützten Verfahrens zum Matching von aufgezeichneten Fahrzeugbewegungen und dem Streckennetz und Fahrplan des
Verkehrsunternehmens. Verwendet werden Methoden des Dynamic Programming auf Basis von Viterbi Algorithmen, Rekursiven Automaten, Quadtree Optimierungen, Transformation von Koordinatensystemen.
• Prototyp eines webbasierten Map Viewers über OpenLayers/WMS + UMN MapServer.
• Engine für mehrdimensionale Kreuztabellen zur Darstellung von statistischen
Kennzahlen, inkl. Zwischensummen für Untergruppen, Bereichseinteilung durch
Klassifizierung, Export nach Excel und als ESRI Shapefile, Unterstützung von
Templates.
Raffel, p. 4 of 7
• Weitere Merkmale: LDAP Integration mit JAAS, Job Scheduling mit Quartz.
Fahrzeugmanagement, Import von Fahrplandaten inkl. der täglichen Änderungen.
• Technologien: Linux, Windows, Java, J2EE, Tomcat, JAAS, JSF, AJAX-enabled
JSF components, JNDI, iBATIS persistence framework, Spring, Quartz, SQL
Server, GeoTools, OpenMap, Graphviz, JExcelAPI, Colt, JScience
(JSR-275 Units/Quantities).
Gerät zur automatischen Fahrgastzählung
Jul 2007 - Nov 2007
• Entwicklung/Portierung der Firmware für ein Gerät zur automatischen Fahrgastzählung in Schienenfahrzeugen und Integration in das IP-Train Ethernet
Network - Bombardier MITRAC Train Control and Management System (TCMS).
• OEM-Entwicklung gemäß EN50128:2001 (Software for railway control and protection systems).
• Technologien: Freescale ColdFire MCF5208, C, Assembly, Microtec ColdFire
Tools, Nucleus RTOS, Eclipse CDT.
Zentrales AFZ Steuergerät
Jan 2000 - Jan 2005
• Entwicklung der Firmware für den zentralen Bordrechner für Systeme zur vollautomatischen Fahrgastzählung und Fahrverlaufsanalyse (AFZ) in Nahverkehrsfahrzeugen.
• Hauptmerkmale: Automatischer Upload der Messdaten über GSM/GPRS und
Internet oder 802.11 WLAN zu einem FTP Server, ggf. Download einer neuen
Konfiguration oder neuen Firmware.
• Online-Webinterface für Einrichtung und Test des Systems mit clientseitiger Nutzung von Java Applets. E-Mail Benachrichtigung im Fehlerfall. Dynamic DNS
(RFC 2136) für Always-Online-Funktionalität in GPRS Custom APN. GPS Positionsbestimmung (NMEA 0183). HMAC-SHA1 Authentication, gzip Komprimierung von Rohdatenfiles.
• Implementation eines ONC/RPC Protokolls (RFCs 1831, 1832) zur Integration
des AFZ in eine Ethernet-basierte Fahrzeug-Kommunikationsplattform (Bombardier Transportation) in über 450 Nahverkehrsfahrzeugen der Schweizerischen
Bundesbahnen.
• Komplettes Applikationsdesign in UML mit Rhapsody (IBM Rational, früher Telelogic, I-Logix).
• Python Scripts für automatisierte Tests.
• Zahlreiche weitere, teils internationale Projekte zur Anbindung an Fahrgastinformationssysteme und RBL-Systeme über verschiedene Kommunikationsmedien,
z.B. Ethernet, MVB Fahrzeugbus, VDV-IBIS, SAE-J1708/J1587.
• Das System wird in mehreren tausend Bussen und Zügen bei 180 Verkehrsunternehmen aus Europa, den USA und Kanada erfolgreich eingesetzt.
• Technologien: Freescale MC68360 (QUICC), C++, C, Assembly, Diab compiler,
Single-Step debugger, Nucleus RTOS (kernel, TCP/IP stack, web server, file
system), Rhapsody, Python.
Verwaltungsprogramm für AFZ Datenmanagement
Jan 2002 - Jun 2002
• Pflege und Weiterentwicklung einer datenbankgestützten Desktop Anwendung
zur Verarbeitung von Daten aus AFZ Systemen.
• Erstellung einer COM Server DLL zur Ermittlung von Regressionsparametern
aus einer Stichprobenmenge von Vergleichszählungen (Methode der linearen
Regression).
• Erstellung von Perl Scripts für Least Squares Method und Paired t-Test.
• Erstellung einer COM Server DLL zur Lösung von Optimierungsproblemen, basierend auf der WNLIB library und der conjugate-gradients Methode.
Raffel, p. 5 of 7
• Erstellung eines Perl Scripts zum Import von binären Rohdatenfiles und Realisierung als ActiveX DLL. Pflege von COM Server DLLs für Import von Rohdaten und Transformation der im Fahrzeug aufgezeichneten Fahrverlaufsdaten zu
fahrplanbezogenen Istdaten.
• Technologien: Windows, C++, STL, ATL/COM, OLE DB consumer templates,
SQL Server, Oracle, Visual Studio 6, SourceSafe, ActivePerl, Perl DBI, Perl XS.
Head of Software Development/
Software Development Engineer
DILAX Intelcom AG, Ermatingen, Schweiz
Festanstellung
Sep 1996 - Sep 2001
• Angestellt bei einem weltweit führenden Anbieter von Systemen zur automatischen Fahrgastzählung und Fahrverlaufsanalyse in der Schweiz (Vorgängerfirma)
• Zunächst angestellt als Entwicklungsingenieur für Embedded Software, ab 09/1999
Leitung der Software-Entwicklung.
• Erhalt von Kollektiv-Prokura 05/2001.
Gerät zur automatischen Fahrgastzählung
Mai 1998 - Jan 2000
• Entwicklung der Firmware für ein netzwerkfähiges Gerät zur vollautomatischen
Personen- und Fahrgastzählung. Das Gerät steuert eine Kette von Infrarotsensoren und ermittelt die Zahl der durchgehenden Personen richtungsabhängig
durch Auswertung der Sensorsignale.
• Implementierung eines proprietären Netzwerkprotokolls auf RS-485 Basis.
• Verbesserung der Algorithmen zur Unterscheidung von mehreren Personen.
• Technologien: Freescale MC68LC302, C, Assembly (Motorola 68000), Diab compiler, SingleStep debugger, Nucleus PLUS kernel, Microsoft Visual Studio &
Nucleus EDE.
Mobile Applikationen für Nahverkehrsfahrzeuge
Sep 1996 - Jan 1999
• Pflege und Weiterentwicklung eines firmeneigenen proprietären Echtzeitbetriebssystems und von Applikationen für Personenzählsysteme, Bordcomputer und
Fahrscheindrucker für Nahverkehrsfahrzeuge.
• Kundenspezifische Anpassungsentwicklungen, Unterstützung von mehreren Hardwareausführungen.
• Optimierung des Betriebssystemkerns, Pflege eines Interpreters (Laufzeitumgebung) für eine proprietäre Hochsprache mit einfachen objektorientierten Konzepten.
• Petrinetz-basierte Modellierung des ereignisgesteuerten Programmablaufs mit
dem CASE Tool “Visual Object Net ++” mittels zeitbewerteten Stellen/TransitionenNetzen (timed petri nets) und softwareseitige Umsetzung des Petri-Netz-Modells.
• Anbindung von Datenfunk-Controllern für drahtlose Datenübertragung vom Fahrzeug zu Datenmodemterminals. Programmierung eines flash card reader/writer
für kontaktlose Flash-Datacards.
• Technologien: C, Assembly (Motorola 6800), IAR C Compiler, Microsoft C 6.0,
Visual Object Net ++, PVCS revision control system.
S KILLS
Embedded und Real-Time Systeme:
• Embedded Linux, Mentor Nucleus OS und proprietäre RTOS, inkl. device driver,
BSP und kernel development, TCP/IP stack, socket programming, multithreading.
• Software-Entwicklung mit verschiedenen Mikrocontrollern (Freescale QUICC, Coldfire, und andere) auf kundenspezifischer Hardware.
Raffel, p. 6 of 7
Protokolle und Feldbus-Standards:
• Networking: IP, TCP, UDP, PPP, PAP/CHAP, HTTP, FTP, TELNET, SMTP, ONC/RPC
(RFCs 1831, 1832), RTSP/RTP, DHCP, DNS, Dynamic DNS (RFC 2136), SNTP,
GPS (NMEA 0183), GSM/GPRS, 802.11 WLAN
• Transport-Industrie Protokolle: TCMS, IPTCom, MVB vehicle bus, SAE-J1708/J1587,
VDV-IBIS
Programmiersprachen, Plattformen, Frameworks, APIs:
• C, C++ (Boost, STL, Qt 4, POSIX, Rhapsody OXF, ATL/COM/OLE DB)
• Java 5, J2EE (Tomcat 5.x, JSP, Servlets, Filter, JAAS, JSF, Netbeans Visual Web
Pack, Apache Struts, Apache Commons, Log4J, JUnit, JDBC, JNDI, iBATIS Persistence Framework, Spring, JExcelAPI, XStream, JScience, Colt)
• Perl 5.x (CPAN, GD, DBI, Threads, Perl XS, Activestate Perl)
• Andere: Lua 5.1, Python, Assembly
Web Development:
• JavaScript, require.js, node.js, jQuery, jQuery UI, YUI, inputex, und andere
• AJAX, WebSocket, JSON, JSON schema, XML, HTML5, CSS3
• Apache, Lighttpd, FastCGI
GIS, Web Mapping:
• UMN MapServer, TileCache, WMS, GML, OpenLayers, PostGIS, pgRouting, GDAL/OGR,
GeoTools, Quantum GIS (QGIS)
Datenbanken:
• PostgreSQL, SQL Server, Oracle, MySQL, HSQLDB
Version Control und Software Configuration Management:
• Git, Subversion, CVS, ClearCase, PVCS, ClearQuest, Bugzilla
Development Tools:
• Vim, sed, awk, bash, GNU make, GCC Toolchain, gdb, Valgrind
• ant, maven, Eclipse, Netbeans
• Rhapsody (I-Logix, now Telelogic), Enterprise Architect (Sparx Systems)
• Diab compiler m68k, Microtec ColdFire Tools, SingleStep debugger, und andere
Sonstige Anwendungen:
• LATEX, OpenOffice, MS Office, MS Project, TWiki
Standards:
• EN50128:2001 (Software for railway control and protection systems), EN ISO 9001:2000
Betriebssysteme:
• GNU/Linux, Mac OS X, Windows (Mac OS X oder Unix-like Umgebung bevorzugt)
Sprachen:
• Deutsch: Muttersprache, Englisch: Sehr gut in Wort und Schrift.
R OLLEN
Software Consultant, Technical Lead, Project Lead, Head of Development
E XPERTISE
Branchen, Anwendungsbereiche:
• Öffentlicher Personennahverkehr, Bahntechnik, Automotive, Verkehrstelematik
Mathematik:
• Linear/Nonlinear Programming, Optimierungsprobleme
• Dynamic Programming, Viterbi Algorithmen
• Graphentheorie, Petri Netze
• Stochastik, Statistik
Raffel, p. 7 of 7
Informatik, Engineering:
• OOA/OOD mit UML
• Design Patterns (GoF, J2EE)
• Refactoring
• Unit Testing
M ITGLIED -
Association for Computing Machinery (ACM)
SCHAFTEN
R EFERENZEN
Referenzen auf Anfrage.