JH
verfügbar

Letztes Update: 01.02.2012

Informatiker (TU) mit Spezialisierung auf Embedded und Betriebssystemsoftware

Abschluss: Dipl.-Informatiker
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | französisch (Grundkenntnisse)

Skills

Nach über 19 Jahren Berufserfahrung, davon über 14 Jahre als selbständiger Informatiker, fällt es mir sehr schwer, ein knappes, aussagekräftiges Profil zu erstellen. Als selbständiger Informatiker biete Dienstleistungen an, die zur Lösung auch komplexer und umfangreicher Probleme in der gesamten IT-Branche dienen:

- Fehlersuche in Hard- und Software, Code-Inspektion, Review-Moderation
- Interims-Management, Personalbeurteilung, Mediation
- Extrem schnelle Softwareentwicklung (mit Partnern auch Hardware)

Die folgenden Aufzählungen sind ein Versuch, meine Kenntnisse strukturiert darzustellen. Dabei führe ich nur Dinge auf, mit denen ich mich intensiv beschäftigt habe. Für die Softwareentwicklung waren dies:

* Betriebssysteme von der Designphilosophie bis hinunter zu den Details
- AT&T UNIX Version 7 bis System V.2/V.3
- BSD-Unix 4.2, 4.3, 4.4; FreeBSD
- Linux (2.0, 2.2, 2.4, 2.6)
- MS-DOS für „mission-critical“ Applikationen
- OS/9, QNX
- RTOS-32/RTKernel (On Time)
- VxWorks 5.5, 6.3 und 6.4
* Protokolle
- IP-Protokolle, TCP/IP, UDP/IP (implementiert)
- Transportprotokolle über TCP und UDP: HTTP, TFTP, Telnet, ...
- OSI-Protokoll unter BSD-Sockets mit POSIX XTI-Bibliothek
- Asynchrones BSC (Multipoint Master-Slave Protokoll)
- PPP (Pilotentwicklung)
- IrDA (Studie mit Zeit/Kostenschätzung)
- Codeinspektion des Linux 2.4 „no-copy“ TCP/IP Protokollstacks
- Funkprotokoll IP-over-Air
- CAN Bus (ARINC 825)
* Graphische Software
- X11R6 Portierung für Graphikkarten von PCS/CADMUS Rechnern, basierend auf
einer existierenden X11R5 Portierung
- OpenGL ES
- Graphiktreiber für WindML 3.0 unter VxWorks 5.5 für Coral-PA und Carmine (Fujitsu)
* Treiber
- Plattentreiber für SMD-Platten
- IDE/ATA-Treiber für ein Realzeitsystem mit definierten Zeitaussagen
- Treiber für LAN-Bausteine des Typs NE2000 und SMSC 91C96, Power-PC
- Treiber für PC-I/O Bausteine: serielle Schnittstelle, Tastatur, etc.
- IEEE 1394/Firewire DMA-Schnittstelle mit hoher Datenbandbreite
* Embedded Systeme
- Design- und Implementierungsvorschriften für „Safety-Critical“ und
„Mission-Critical“ Systeme
- Testrahmen („Test Harness“) für Modul- und Systemtests im „Mission-Critical“ Bereich
- BIOS für Microcontroller des x86-Typs mit DOS-Emulation
- TCP/IP und UDP/IP Protokollstacks tauglich für 16Bit Mikrocontroller
mit beschränkten Ressourcen
- HTTP/HTML-Server für Embedded Systeme
- Studie „Java für Embedded Systeme“
- Betreuung Diplomarbeit: „Linux als Betriebssystem für Industrieterminals“
(entspricht „Mission-Critical Linux“)
* Applikation
- Compiler(bau), Assembler(bau)
- Interpreter für Testsysteme
- Socket-Verbindungsmanager für „embedded“ Applikationen (Client-Server)
- (Flug-) Simulatoren

Damit einher geht ein vertieftes Verständnis der Hardware. Neben dem Verständnis von komplexen Chip-Bausteinen aus deren Datenblättern kann ich die dazugehörenden Schaltpläne lesen und auf Fehler analysieren. Dies gilt auch für PAL/EPLD-Gleichungen und ASIC-Designs. Im folgenden seien nur die Hardwarebereiche und -komponenten aufgelistet, bei denen meine Kenntnisse bis hin zu den Problemen oder gar internen Fehlern reichen:

* Mikroprozessoren der Typen 68xxx, x86, DEC Alpha und andere RISC-Architekturen
* Mikrocontrollern aus der x86 und x96 Gruppe, z.B. Intel 8096, AMD 188ES und
AMD SC400/SC410, AMD SC520, Microchip dsPIC30 und PIC24H, Freescale HCS12(X) mit XGATE
* RISC Microcontroller der Serien PPC G3, MPC860, PPC 405, MPC 5200, SH4 (7785), ARM9
* VME-, ISA-, PCI-Bus; PCMCIA-Steckplatz
* PC I/O Systeme, z.B. ATA/ATAPI-Schnittstelle, seriellen Schnittstellen

Bei Projekten, in denen Applikationssoftware geschrieben wurde, mußte ich mich öfter intensiv in die Problemstellung eines anderen Fachbereichs einarbeiten. Dazu gehören

* Meßtechnik unter extremen klimatischen Bedingungen
* Meteorologie und Klimatologie, Eisforschung (See-Eis)
* Avioniksysteme und -busse
* Quantentheorie
* EMV-Maßnahmen
* Webmaschinen und -verfahren
* Simulationen

Ich kenne den gesamten Softwareentwicklungsprozess, wie er auch im Bereich der sicherheitskritischen Software üblich ist, von der Vertragsgestaltung über Spezifikation, Design, Implementierung, Test, Abnahme, Inbetriebnahme und Wartung. Ich habe Software unter anderem schon nach folgenden Methoden entwickelt

* DO 178 A/B
* MIL 498
* ISO 12207
* ISO 61508

und kann diese Methoden auch vermitteln.

Als meine größte Stärke betrachte ich es, mir auch größere Wissensbereiche schnell aneignen zu können. Deshalb macht es mir Spaß, einmal etwas ganz Neues anzufangen. Ich bin imstande aus Normen (RFCs, IEEE-Spezifikationen etc.) rasch ein funktionierendes Codestück zu entwickeln und - wenn notwendig - eine dazu passende Hardware zu spezifizieren. Daher können die oben angegebenen Wissensbereiche nur relativ gesehen werden; in naher Zukunft können weitere Bereiche dazukommen sein.

Projekthistorie

Hier sind nur die Projekte der letzten Jahre aufgelistet. Weitere Kenntnisse entnehmen Sie bitte meinem Profil.


November 2010 – Dezember 2011: Rheonik Messtechnik (GE Sensing & Inspection Technologies)

- Entwicklung der Steuersoftware für einen Coriolis Durchflusssensor, mit dem Masse, Volumen und Dichte einer fließenden Flüssigkeit bestimmt werden kann. Diese neueste Generation vom Sensoren hat extreme Anforderungen an die Genauigkeit und Reaktionszeit. Entwickelt wurde die Software für einen Freescale HSC12 Prozessor mit Hilfe der Codewarrier Entwicklungsumgebung unter Einhaltung der SIL3 Sicherheitsklasse wegen des Einsatzes der System in explosionsgefährdeten Bereichen. Ich habe dafür neben vielen anderen low-level Modulen auch ein Modbus-Kommunikationsprotokoll auf dem XGATE Coprozessor des HCS12 geschrieben, die ältere Archituktur auf der Basis eines PIC18F ablöst.
- Eingesetzte Technologien waren: LDRA, Freescale HCS12X, PIC18, Codewarrier, iSystem Debugger, Subversion - SVN, MISRA, SIL3 – ISO 61508, Modbus Protokoll.


April 2009 – September 2010: Hamilton Sundstrand, Nördlingen

- CAN Kommunikation für Intelligente Schalter für Flugzeugelektrik (SSPC).
Design und Implementierung eines Kommunikationskonzentrators für intelligenten Schalters für Flugzeugelektrik im Rahmen des A350 Projekts. Der Konzentrator übernimmt von dem Leitsystem der Elektrik Schalterkommandos über CAN Schnittstellen und leitet diese über eine gemultiplexte SPI-Kommunikation an die intelligenten SSPC Schalter weiter. Von den SSPC Schaltern wiederum wird der Status über die gemultiplexte SPI Schnittstelle gelesen und wiederum über CAN an das Leitsystem zurückgemeldet. Durch eine Verdopplung der CAN Konzentratoren und des SPI-Multiplexers wird eine Redundanz zur Steigerung der Betriebssicherheit erreicht.
- Entwickelt wurde die Software dazu in C nach Sicherheitsstandard DO-178B Class A. Für das Requirement-Engineering wurde DOORS 8.3 und 9.2 verwendet.
- Eingesetzte Technologien waren: DOORS, IBM CM SYNERGY, C, GNU C, MICROCHIP DSPIC30, PIC24H, MPLAB IDE, DO-178B, IBM LOGISCOPE, MISRA.


Juli 2008 – März 2009: Hamilton Sundstrand, Nördlingen

- Implementierung eines intelligenten Schalters für Flugzeugelektrik (SSPC Solid State Power Controller) für Airbus A400M, Airbus A350 und Boeing 787 auf der Basis von Microchip PIC24H und dsPIC30 Microcontrollern. Entwickelt wurde die Software dazu in C nach Sicherheitsstandard DO-178B Class A. Zum Einsatz kam die Microchip MPLAB IDE Entwicklungsumgebung in der Version 8.15a mit MPLAB C30 Compiler (entspricht GNU GCC 4.03) samt den dazugehörigen Emulator-Tools ICD2 und REAL ICE.
- Für das Requirement-Engineering wurde DOORS 7.1 und 8.3 verwendet. Dazu habe ich einen Generator geschrieben, der aus einem Doors-Requirement Schema Coderahmen in C erzeugte. Dieser wurde mit Hilfe von Microsoft Visual (Studio) C++ 2008 erstellt..
- In dem Projekt wurde das Versionskontrollsystem IBM/Telelogic CM Synergy 7.1 verwendet und zur statischen Code-Analyse bzw. zur Überwachung des Coding-Standards IBM/Telelogic Logiscope 6.5. Das Rule-Set dazu umfasste einige MISRA-Regeln, die von mir korrigiert bzw. angepasst werden mussten.


Januar 2007 – Juni 2008: Rohde&Schwarz: Implementierung Funk-Protokoll IPoA

- Implementierung eines Protokolls für Rundfunkübertragung von IP-Paketen mit Point-to-Point und CSMA/CA Modi für ein militärisches Radio (M3TR). Ich war verantwortlich für die Implementierung des MAC/LLC Layers, des Netzwerklayers und des Anschlusses an einen standard IP-Protokollstack über ein Treiberinterface unter VxWorks 6.4 implementiert in C++. Basis waren die Prozessoren PPC405 in einer FPGA-Implementierung und PPC860.
- Es kam das Versionskontrollsystem IBM Rational Clearcase zum Einsatz und das Requirement-Engineering erfolgte über DOORS (7.1).


September 2004 – Dezember 2006: Siemens VDO: Graphikarchitekt für Infotainmentsysteme (Automobil)

- Graphikarchitekt im Bereich Automotive Infotainment-Systeme (SV IIS), das sind Navigations-systeme mit integrierter Unterhaltung, wie Radio, TV, CD/DVD-Player etc. Verantwortlich für Auswahl von Software und Hardware im Graphikbereich.
- Ich bearbeitete von Kunden kommenden Lastenhefte sofern sie graphische Ausgaben betrafen, erstellte interne Spezifikationen, erarbeitete Performance-Aussagen und designte die dazugehörenden Systemsoftware. Darüber hinaus koordinierte ich die graphischen Aktivitäten der darüberliegenden MMI/HMI Software und machte dafür Vorgaben, wie die graphischen Programmierschnittstellen zu benutzen waren.
- Weiterhin programmierte ich auch Treiber für Graphikbausteine, wie die automotivetaugliche Bausteine CORAL-PA von Fujitsu und CARMINE von Fujitsu. Diese Treiber liefen unter VxWorks (Release 5.5), waren in C geschrieben und wurden über eine erweiterte WindML 3.0 Schnittstelle (API) angesprochen. Als Prozessoren kamen zum Einsatz: Freescale MPC5220 (PPC 603e G2_LE Core) und Renesas SH7780 (SH-4 Core).
- Eine OpenGL ES Schnittstelle für 3D Darstellung wurde zu Erprobungszwecken implementiert und mittels einer 3D Navigation getestet.
- Aktuelle Themen in diesem Bereich waren Anti-Aliasing, Alpha-Blending und das pixelweise Alpha-Blending von graphischen Overlays, auf die die Applikationen unabhänging voneinander zeichnen konnten. Aktuelle Anforderungen waren darüberhinaus Navigationssysteme mit Kartendarstellungen in 3D und MMI/HMI Bedienoberflächen mit extremen Designs sowie das Rendern von Video-Inputs von TV und Onboard-Kameras.


Oktober 2003 – Dezember 2003: PCS: Chipkarten-API

- Portierung einer Chipkarten-API-Schnittstelle für Smartcards aus einer embedded Standalone-Umgebung auf eine embedded Linux ARM-basierende Architektur. Dies schloß die Tests zur Zulassung nach Norm EMV2001 mit ein.


März 2002 – Juli 2003: EADS: Flugsimulation

- Integration eines militärischen Flugsimulators aus angelieferten Simulationskomponenten (Triebwerk, Aerodynamik, etc.)
- Integration von Modulen, die den vier Programmiersprachen C, C++, ADA, FORTRAN geschrieben waren, zu einem Programm
- Schaffung eines komfortablen FORTRAN/C Interfaces
- Anschluß an externe Visualisierungskomponenten
- Überwachung und Verbesserung der Realzeit-Eigenschaften
- Portierung auf verschiedene Zielsysteme: PC/Linux, Compaq 160/OSF1/Tru64, Concurrent/Harris PowerHawk
- Integration eines Test-Interpreters für automatisierte Testfälle und Vergleich mit Flugversuchsdaten
- Vorbereitung für Einsatz in Ausbildungs-Simulatoren (ASTA) durch Einführung von simulierten Fehlfunktionen und simuliertem Redundanzverhalten


Oktober 2001 - Januar 2002 : Digital/DEC (jetzt HP): Treiberentwicklung

- Treiberentwicklung für den Anschluß eines Fujitsu MO Laufwerks an ein Alpha-basierendes System unter OSF1/Tru64
- Umschreiben eines bestehenden SCSI/CAM Treibermoduls auf die Bedürfnisse des MO-Laufwerks.
- Umgehung der Probleme der Firmware des Laufwerks
- Performance-Messungen und Verbesserungen
- Bereitstellen eines auslieferbaren Release-Stands


August 2000 - August 2001: Opditex: optische Webinspektion

- Entwicklung einer Software zur Auswertung der Videodaten einer 2,50m langen Zeilenkamera, die über einer Webmaschine angebracht ist.
- Entwicklung von Bildverarbeitungs-Komponenten mit extrem hoher Performance für das Aufspüren von Web-Fehlern bei Videodatenaufkommen bis zu 2MPixel/Sekunde
- Bereitstellung einer IEEE 1394/Firewire DMA-Schnittstelle mit hoher Datenbandbreite
- Konfigration und Bereitstellung eines "diskless" embedded Linux Systems auf dem Auswerte-Rechner (Industrie-PC)
- Entwicklung eines optischen Anzeige- und Demonstrationsprogramms zur Anzeige der Video-Daten in Realzeit


Dezember 1997 - Juni 2000: PCS: Industrieterminals

- Entwicklung einer neuen Generation Industrie-Terminals (INTUS 3000) als leitender Software-Entwickler
- Vorgaben für die Hardware-Entwicklung
- Entwicklung eines kleinst-PC basierenden (AMD SC400) Industrieterminals mit hohen Standzeitanforderungen ("mission-critical"), angefangen von der Betriebssystem-software bis hin zur Adaption und Umprogrammierung eines bestehenden Interpreters
- Entwicklung einer eigenen Netzwerkkomponente (LAN, IP, TCP/IP, HTTP) mit minimalem Ressourcen-Verbrauch
- Entwicklung eines seriellen master/slave Multipoint-Protokolls ähnlich BSC mit LAN Protokollkonverter
- Entwicklung eines bootfähigen PCMCIA BIOS für PCMCIA ATA-Platten
- Bereitstellung einer Produktionssoftware für die Konfiguration der Industrie-Terminals während der Produktion
- Entwicklung kleinerer, preiswerterer Varianten auf der Basis des AMD 80186ES Mikrocontrollers (INTUS 3100, INTUS 3200)
- Entwicklung eines Boot-Monitors/BIOS mit Flash-Verwaltung über LAN
- Durchführung strategischer Untersuchungen: "Embedded Linux", "mission critical JAVA", "IrDA" etc.
- Auswahl und Einarbeitung eines Nachfolgers

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
100% vor Ort, derzeit limitiert auf Bayern, ab dem 01.01.2012.
Profilbild von Anonymes Profil, Informatiker (TU) mit Spezialisierung auf Embedded und Betriebssystemsoftware Informatiker (TU) mit Spezialisierung auf Embedded und Betriebssystemsoftware
Registrieren