Fachlicher Schwerpunkt dieses Freiberuflers

Senior Software Entwickler Automation Anlagen Geräte Steuerung Realtime Sicherheit Embedded C# C++ go PKI

verfügbar ab
07.10.2019
verfügbar zu
100 %
davon vor Ort
100 %
PLZ-Gebiet, Land

D8

Städte
München
100 km
Kontaktwunsch

Ich möchte bevorzugt für Projekte in diesen Einsatzorten kontaktiert werden.

Position

Projekte

02/2018 - 06/2019

1 Jahr 5 Monate

Entwickler EchtzeitImFahrzeug

Rolle
Software Entwickler
Kunde
LTG Gorba AG
Einsatzort
Oberbüren, CH / Remote
Projektinhalte

Aufgabe : Entwicklung eines imotion Positionierungsmoduls für ein onboard Passagier Informationssystem.
Das onboard Modul im Fahrzeug verbindet sich mit der GPS Antenne (gpsd via json) um die aktuelle Geoposition des Fahrzeugs auszulesen, und zu einer lokalen sqlite DB für die aktuellen Fahrplaninformation. Mit diesen Daten wird regelmässig die aktuelle Strecke zum nächsten Stop und zum Ziel berechnet und an das onboard System gesendet. Ein stabiler Betrieb mit hoher Frequenz bei geringer CPU und Speicherlast ist erreicht.
Umgebung : C# .Net Framework 2.0 auf Windows 8

Aufgabe : Entwicklung eines imotion Vorhersagemoduls für ein onboard Passagier Informationssystem.
Mit den aktuellen Abstandswerten des Positionsmoduls berechnet das Vorhersagemodule regelmässig die geschätzten Ankunftszeiten am nächsten Stop und am Ziel. Ausserdem werden die Verbindungen am nächsten Stop sowie Störungsmeldungen angezeigt. Schnelle Antwortzeiten auch bei hoher Frequenz und kleiner CPU Last wurden umgesetzt.
Umgebung : C# .Net Core 2.1 auf Windows 8/10

Aufgabe : Erstellung eines Simulationsystems für das onboard Passagier Informationssystem.
Die Simulation kann produktive Fahrten mit allen relevanten Daten im Fahrzeug aufnehmen (imotion), diese Daten Up- oder Downloaden und diese aufgenommenen Fahrten können später z. B. im Labor wieder abgespielt werden. Die beteiligten Module implementieren die Simulations Basisklasse um mit dem kontrollierenden Admin webinterface (icenter) zu Kommunizieren.
Umgebung : C# .Net Framework 4.7 und Core 2.1 auf Windows 8/10

Aufgabe : Implementierung einer icenter Import Applikation für die Fahrplan Information.
Die Application wartet auf neue Dateien im Filesystem, prüt diese auf Gültigkeit, konvertiert sie in ein gezippetes sqlite Format und stellt sie auf einem Http-Server den Fahrzeugen zur Verfügung. Die Fahrzeuge checken regelmässig auf Updates und laden diese im Produktivbetrieb.
Umgebung : C# .Net Framework 4.7 und Core 2.1 auf Windows 10

Kenntnisse

Scrum

Produkte

.NET 4.7

.NET Core 2.1

WCF

08/2014 - 01/2018

3 Jahre 6 Monate

Entwickler Secure Device Communications

Rolle
Entwickler
Kunde
Siemens AG (München, CT RTC ITSecurity)
Projektinhalte

Implementierung einer OPC Ua Erweiterung für ein Oneway-Gateway

  • Das Oneway Gateway stellt hardwareseitig eine unidirktionale und rückwirkungsfreie Kommunikation zweier Netzwerke sicher. Um bidirektionale Protokolle (Request/Response) bedarf es softwareseite Module fer das jeweilige Protokoll. Im Fall von OpcUa wird dazu senderseitig von einem bestehenden OpcUa Server die Datenstruktur ausgelesen, serialisiert und an die Empfaengerseite gesendet. Dabei werden die variablen Datenknoten des Servers aboniert um regelmässig von Server Werteupdates zu erhalten, welche wiederum serialisiert und an den Empfänger gesendet werden. Auf Empfängerseite wird ein leerer OpcUa Server gestartet und sobald die Datenstruktur eintrifft, wird diese deserialisiert und in den Server eingetragen. Folgen nun Werteupdates, werden diese ebenfalls in den Server zu den jeweiligen Datenknoten eingetragen. Somit ist ein lesender Zugriff über die unidirektionale Netzwerkgrenze etabliert. Es wurde das OpcUa SDK von Unified Automation eingesetzt.

Umgebung :

C++14 mit gcc/make auf Linux und Visual Studio auf Windows

Entwicklung einer Endgerätesoftware und einer kaskadierten Registration Authority RA / LRA zum automatisierten Verteilen von Geräte- und Dienste Zertifikaten x.509 aus einer CA unter Einhaltung von Secure Coding Richtlinien

  • Es wird das CMP Protokoll auf dem Endgrät und der RA implementiert, welches auch die EJbCA üterstüzt. Die Gräte werden bei der Produktion mit einem Gerätezertifikat versehen und beziehen damit automatisiert weitere Zertifikate, um die Identität und die Kommunikation im Feld von und mit diesem Device abzusichern. Dabei prüft jeweils das Gerät, die RA sowie die CA den Request bzw das bezogene Zertifikat als Response. Ausserdem wird für die Kommunikation eine 2 seitige TLS Verbindung und OCSP etabliert.

Umgebung :

Java mit Eclipse und BouncyCastle auf Windows, C++14 und Bash Scripte unter Linux

Entwicklung einer Registration Authority RA zum Verteilen von Geräte- und Dienste Zertifikaten X.509 unter Verwendung des Windows Keystore oder als PKCS12 und mit Einhaltung von Secure Coding Richtlinien.

  • Die Gräte werden manuell mit einem Gerätezertifikat versehen und beziehen damit weitere Zertifikate mittels EST Protokoll um die Identität und die Kommunikation im Feld von und mit diesem Device abzusichern.

Umgebung :

C# mit .NET und MS CryptoLib auf Windows

05/2012 - 04/2014

2 Jahre

Architect CarSharingModul DriveNow

Rolle
Architekt und Entwickler
Kunde
BMW AG (FIZ München)
Projektinhalte

Konzeption und Implementierung einer NFC Kundenkarte für den CarSharing-Nutzer unter Verwendung aktueller Sicherheitsverfahren und -mechanismen für den Fahrzeugzugang und dessen Nutzung im online sowie offline Betrieb.

Umgebung:

JavaCard und Java mit Eclipse auf JCOP und Android

Definition der Software-Architektur auf dem CarSharingModul mit seinen 4 Controllern.

  • Besondere Herausforderung ist hierbei eine flexible Platform auf dem Android-Controller darzustellen, auf dem Security-Controller Sicherheit gegen Manipulation, Missbrauch oder Unterschlagung zu erreichen und über das Funkmodul eine schnelle, stabile und manipulationsfreie Kommunikation zum Backend zu etablieren. Dies beinhaltet u.a. den Einsatz von Signierung, Verschlüsselung, Zertifikaten und Challenge-Response-Verfahren.

Umgebung:

C++11 und Java mit Eclipse auf Android und Linux

Portierung der Mapnik-Lib und dessen Abhängige auf Android.

  • Konvertierung der App AdvancedMapViewer und deren Libs von Java nach C++11 zur Laufzeitverbesserung.

Umgebung:

C++11 und Java mit Eclipse auf Android-NDK

09/2010 - 02/2012

1 Jahr 6 Monate

Erstellung einer Steuer- und Bediensoftware für einen Dispenser als medizinisches Laborgerät.

Rolle
Entwickler
Kunde
Fritz Gyger AG (Thun, Schweiz)        
Projektinhalte
  • Der Steuerungsteil der Software läuft auf einem embedded WindowsPC und verwendet PlugIns zur Ein- und Ausgabe. Die Bedieneroberfläche ist entsprechend als PlugIn ausgeführt und kommuniziert über TCP mit der Steuerung. Um den Wettbewerbsvorteil zu schützen ist das Projekt obfuscadiert.
Kenntnisse

C# .Net4 und WPF auf Windows7

07/2009 - 07/2009

1 Monat

Herstellung von Echtzeitfähigkeit

Rolle
Berater
Kunde
Syscona (Freudenberg)
Projektinhalte
  • Die Speicherverwaltung der Steuerung einer optischen Analyseeinheit wird derart modifiziert, dass die von der Anlage geforderten Reaktionszeiten eingehalten werden. Durch eine Simulation wird das Laufzeitverhalten unter Höchstlast verifiziert.
Kenntnisse

c# .NET auf win2k/XP/vista

10/2005 - 12/2008

3 Jahre 3 Monate

Senior Entwickler Factory Automation

Rolle
Architekt und Entwickler
Kunde
Enrichment Technology Company (Forschungszentrum Jülich)
Projektinhalte

Erstellung eines Framework

  • Es wird ein Baukastensystem erstellt, welches die Entwicklungszeit neuer Anlagensteuerungen reduziert und die Fehleranfälligkeit herabsetzt.

Umgebung:

c# .NET

Erstellung eines Hardware Abstraction Layers für CAN, OPC und ADC Zugriffe

  • Diese Bibliothek ermöglicht einen einheitlichen und einfachen Zugriff auf Hardwarekomponenten, besonderes Augenmerk wurde auf die Reaktionszeit gelegt.

Umgebung:

c++ mit DCOM und ATL

Entwicklung einer Richtstandsoftware

  • Echtzeitnahe Anlagensteuerung, Anbindung der GUI über Tcp/Ip.

Umgebung:

c# .NET

Entwicklung einer Software zum Betrieb einer Produktions-strasse

  • Echtzeitnahe Anlagensteuerung im verteilten System, Anbindung der GUI über Tcp/Ip.

Umgebung:

c# .NET

04/2004 - 09/2004

6 Monate

Entwicklung einer Bibliothek zur Fehlerkompensation von Sensoren

Rolle
Entwickler
Kunde
Hella (Lippstadt/Recklinghausen)
Projektinhalte
  • Es werden mathematisch-numerische Verfahren verwendet, um die Fehlerkennlinie eines Sensors individuell zu extrahieren und die Kompensationsregister des entsprechenden Asics zu beschreiben.
Kenntnisse

c auf MSDOS

10/2003 - 02/2004

5 Monate

Entwicklung und Design eines Medieninformationssystems

Rolle
Entwickler
Kunde
Biz'Quit (Köln)
Projektinhalte
  • Dabei interagiert ein zentraler Server mit Remote-Applikationen. Prioritäten waren Erweiterbarkeit und flexibles Informationsformat
Kenntnisse

j2ee

ejb

SunOneStudio

mySql auf linux

07/2003 - 09/2003

3 Monate

Entwicklung und Design eines automatischen und databankgesteuerten Email-Beantwortungssystems

Rolle
Technische Leitung und Entwicklung
Kunde
First Frame (Köln)
Projektinhalte
  • Besondener Wert wurde auf Portierbarkeit gelegt (win/unix).
Kenntnisse

c++

kdevelop

QT library

07/2002 - 06/2003

1 Jahr

Design und Entwicklung von Bibliotheken für eine Real World Simulation und ein intelligentes selbstlernendes System

Rolle
Entwicklung und Ausbildung
Kunde
[Name auf Anfrage]
Projektinhalte
  • Dabei entstanden u.a. Masse-Schwerkraft-, inverse Kinematik- und Neuronale Netze-Systeme.
Kenntnisse

Microsoft.NET c#

g++ und doxygen

09/2001 - 06/2002

10 Monate

Entwicklung und Design einer automatisierten Lieferschein-Verarbeitung und -Prüfung

Rolle
Technische Leitung und Senior-Entwickler
Kunde
Alcan (Singen)
Projektinhalte
  • Entwicklung und Design einer automatisierten Lieferschein-Verarbeitung und -Prüfung.
  • Die chemische Zusammensetzung der gelieferten Aluminium-Barren werden vom Lieferanten in einer freiformatierten Email mitgeteilt.
  • Diese wird ausgewertet, die Qualität der Ware bestimmt, mit der Bestellung verglichen und zur Weiterverarbeitung in Datenbanken eingetragen.
Kenntnisse

Microsoft.NET c#

sql auf win2k

09/2000 - 08/2001

1 Jahr

Entwicklung und Design der modularisierten Steuer-Software des Cellreaders EVOscreen Mark III

Rolle
Entwickler
Kunde
Evotec OAI Biosystems (Hamburg)
Projektinhalte
  • Entwicklung und Design der modularisierten Steuer-Software des Cellreaders EVOscreen Mark III.
  • Dazu wird ein OO- und AO- Design verwendet, um den Ansprüchen in einer zeitkritischen und verteilten Umgebung gerecht zu werden.
  • Steuermodule wurden u.a. für Laser, X-Y-Tisch, CAN-Komponenten, Kamera oder Blende erstellt, aber auch Module zur Bildauswertung, Betriebsüberwachung oder Datenspeicherung.
Kenntnisse

MS Visual c++ mit MFC

DCOM

doc++

Visio auf winNT

03/2000 - 08/2000

6 Monate

Entwicklung verschiedener logischer Bausteine (deliverydate, holiday, pricing, db-updating...) sowie Qualitätssicherung / Debugging innerhalb des Intershop-Enfinity Frameworks

Rolle
Entwickler und Administrator
Kunde
Otto-Supermarkt (Hamburg)
Kenntnisse

Intershop

emacs

java und bash auf WinNT und Sun Solaris    

09/1999 - 02/2000

6 Monate

Entwicklung eines eMail Verschlüsselungs-Servlet mit Java / Cryptix

Rolle
Entwickler
Kunde
BlueOrbit (Hamburg)
Projektinhalte
  • Implementierung von Oracle DB-connections und Datenkonsistenzprüfungen in java, unterstützende Scripte und ftp download scripte zur Datenaktualisierung.
Kenntnisse

jsp auf tomcat

java und cryptix auf WinNT

HP-UX und linux  

01/1999 - 08/1999

8 Monate

Entwicklung einer Sende- und Empfangsantennen-Steuereinheit mit korrespondierendem Simulator und ISO 9001 Zertifizierung

Rolle
Entwickler
Kunde
Rockwell-Collins Germany / DASA (Heusenstamm/Frankfurt.Main)
Kenntnisse

IBM Visual Age c/c++ und UML unter OS/2    

08/1998 - 12/1998

5 Monate

Debugging und Entwicklung Oracle Frontend und Oracle Trigger

Rolle
Entwicklung und Qualitätssicherung
Kunde
OtelO Telecommunications (Köln)
Kenntnisse

Visual c++

sql

Oracle  

03/1997 - 06/1998

1 Jahr 4 Monate

Webseitenentwickling in HTML, Java-Script, Shell-Script (bash) Admininstration von dns, apache, ftp, squid

Rolle
Administration und Entwicklung
Kunde
Motionpoint (Aachen)
Kenntnisse

linux  

Branchen

Automation
Energiewirtschaft/Energieversorgung
Pharma/Medizintechnik
Luft- und Raumfahrttechnik
Elektronik/Elektrotechnik
Maschinenbau
Automotive

Kompetenzen

Programmiersprachen
C#
.NET & Mono
C++
C++14 MFC/.NET, STL, ATL, QT, Boost
Go
Googles Programmiersprache, ein modernes C
Java
JFC, J2EE, JDBC, EJB, JavaCard
python
Shell
bash, dos

Betriebssysteme
Android
JCOP JavaCard
Linux
Unix
Solaris, Irix, HPUX
Windows
10, 7, 2012, XP, 2000, NT

Datenbanken
CA
EjbCa, eigene RA LRA
ODBC
SQL
Oracle, MySql

Sprachkenntnisse
Deutsch
nativ
Englisch
fließend
Französisch
fließend

Hardware
Bus
CAN CANopen, OPC OpcUa, ADC/DAC, Seriell
E-Motor
Maxxon
embedded Systeme
Proprietaer, AxotecLinux
Pneumatik
Festo
Roboter
Industrie, Medizin, Labor
Scanner
Microscan, Cognex, Pepperl&Fuchs
SPS
Siemens, Jetter, Langner, WuT

Datenkommunikation
Bus
CAN, OPC, ADC
COM/DCOM
Ethernet
Internet, Intranet
ISO/OSI
Proprietäre Protokolle
eigene
RPC
RS232
SMTP
SNMP
TCP/IP
http, https, ocsp, est
Winsock
PCap
XML/XSL

Produkte / Standards / Erfahrungen
Scrum
VisualStudio .NET
Framework 4.7, Core 2.1, WCF, WPF

Konzepte:

  • OOP (object orientation)
  • AOP (aspect orientation)
  • NN (neural networks)
  • GA (genetic algorithms)
  • Design Patterns (creational and conceptional patterns)
  • C++ templates (template programming)
  • Uml (unified modelling language)
  • Xp (extreme programming)
  • Distributed computing
  • Eventdriven systems


Ide:

  • MS Visual Studio / MFC .NET
  • KDE Kdevelop, Sun One, Anjuta
  • Eclipse
  • Emacs, vi, make, gcc
  • IBM Visual Age
  • Intershop Enfinit internet shop framework, java api


Tools:

  • git, svn, cvs, SourceSafe, TeamSource version control
  • Doc++, javadoc, Visio, doxygen documentation
  • Bugzilla, Jira, Mantis, TestDirector bugtracking

Berechnung / Simulation / Versuch / Validierung
FEM (Finite-Elemente-Methode)
Lasttest
Simulation von Hardware
UnitTests
GoogleTest, JUnit

Ausbildungshistorie

2003   
Master of Computer Science
 
1996     
Elektrotechnik TU ohne Abschl.

1989    
Abitur
×
×