Name: |
Schackmann, Stefan |
|
|
Besi Austria GmbH ( Radfeld, Tirol AT ) |
|
01/2020-12/2020 |
|
Function : Entwickler
Task : Bugfixes, Optimierungen and neue Funktionen implementieren für die Software der Evo Maschinencontroller.
Besonders zu beachten is dabei die Kompatibilität zu vorhergehenden Versionen und ihren Parametern, das multithreaded/multitasked Laufzeitverhalten sowie der Versionskontrolle und Verwaltung mit git.
Environment : C++ und Qt mit git und Jira auf Linux
| |
LTG - Gorba AG ( Oberbüren, Schweiz ) |
|
02/2018-09/2019 |
|
Funktion : Entwickler
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
| |
Siemens AG ( München, CT RTC ITSecurity ) |
|
08/2014-09/2018 |
|
Funktion : Entwickler
Aufgabe : 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 Empfängerseite 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
Aufgabe : 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
Aufgabe : 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
| |
BMW AG ( FIZ München ) |
|
05/2012-04/2014 |
|
Funktion : Architekt und Entwickler
Aufgabe : 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
Aufgabe : 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
Aufgabe : 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
| |
Fritz Gyger AG ( Thun, Schweiz ) |
|
09/2010-02/2012 |
|
Funktion : Entwickler
Aufgabe : Erstellung einer Steuer- und Bediensoftware für einen Dispenser als medizinisches Laborgerät.
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. Auch wurde eine SiLA Anbindung implementiert.
Um den Wettbewerbsvorteil zu schützen ist das Projekt obfuscadiert.
Umgebung : C# .Net und WPF auf Windows7
| |
Schackmann ( Köln ) |
|
03/2010-05/2010 |
|
Funktion : Entwickler
Aufgabe : Erlernen der Programmiersprache Go.
Googles neue Programmiersprache wurde von renommierten Entwicklern erstellt und ist als
Open Source frei verfügbar. Von den Entwicklern als "modernes C" bezeichnet, vereinfacht
Go den Programmieraufwand von aktuellen Multiprozessorsystemen durch effizientes Threading.
Durch viele kleine Programme habe ich Go's Kozepte, Laufzeitverhalten und Tools kennengelernt.
Umgebung : go auf linux
| |
diverse Kleinprojekte |
|
09/2009-02/2010 |
|
|
|
Syscona ( Freudenberg ) |
|
07/2009-08/2009 |
|
Funktion : Berater
Aufgabe : Herstellung von Echtzeitfähigkeit.
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.
Umgebung : c# .NET
| |
Enrichment Technology Company ( Forschungszentrum Jülich ) |
|
10/2005-12/2008 |
|
Funktion : Architekt und Entwickler
Aufgabe : Erstellung eines Framework.
Es wird ein Baukastensystem erstellt, welches die Entwicklungszeit neuer
Anlagensteuerungen reduziert und die Fehleranfälligkeit durch Wiederverwendung herabsetzt.
Umgebung : c# .NET
Aufgabe : 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
Aufgabe : Entwicklung einer Rotor-Richtstand Software
Echtzeitnahe Anlagensteuerung mit pneumatischen und elektronischen Komponenten sowie mathematischen Algorithmen,
Anbindung der GUI über Tcp/Ip.
Umgebung : c# .NET
Aufgabe : Entwicklung einer Software zum Betrieb einer Produktionsstrasse
Echtzeitnahe Anlagensteuerung im verteilten System, Anbindung der GUI über Tcp/Ip.
Umgebung : c# .NET |
|
Hella ( Lippstadt/Recklinghausen ) |
|
04/2004-09/2004 |
|
Funktion : Entwickler
Aufgabe : Entwicklung einer Bibliothek zur Fehlerkompensation von Sensoren.
Es werden mathematisch-numerische Verfahren verwendet, um die
Fehlerkennlinie eines induktiven Drehweg-Sensors individuell zu extrahieren und
die Kompensationsregister des entsprechenden Asics zu beschreiben.
Umgebung : c auf MSDOS. |
|
Biz'Quit ( Köln ) |
|
10/2003-02/2004 |
|
Funktion : Entwickler
Aufgabe : Entwicklung und Design eines Medieninformationssystems.
Dabei interagiert ein zentraler Server mit Remote-Applikationen.
Prioritäten waren Erweiterbarkeit und flexibles Informationsformat.
Umgebung : j2ee, ejb, SunOneStudio, mySql auf linux. |
|
First Frame ( Köln ) |
|
07/2003-09/2003 |
|
Funktion : Technische Leitung und Entwicklung
Aufgabe : Architektur und Entwicklung eines automatischen und databankgesteuerten Email-Beantwortungssystems.
Besondener Wert wurde auf Portierbarkeit gelegt (win/unix).
Umgebung : c++, kdevelop, QT library. |
|
Schackmann ( Köln ) |
|
07/2002-06/2003 |
|
Funktion : Entwicklung und Ausbildung
Aufgabe : Entwurf und Entwicklung von Bibliotheken für eine Real World Simulation
und ein intelligentes selbstlernendes System.
Dabei entstanden u.a. Masse-Schwerkraft-, inverse Kinematik- und Neuronale Netze-Systeme.
Umgebung : Microsoft.NET c#, c++ und doxygen. |
|
Alcan ( Singen ) |
|
09/2001-06/2002 |
|
Funktion : Technische Leitung und Entwicklung
Aufgabe : Entwurf und Entwicklung 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.
Umgebung : Microsoft.NET c#, sql auf win2k. |
|
Evotec OAI Biosystems ( Hamburg ) |
|
09/2000-08/2001 |
|
Funktion : Entwickler
Aufgabe : Entwicklung und SW-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.
Umgebung : MS Visual c++ mit MFC, DCOM, doc++, Visio |
|
Otto-Supermarkt ( Hamburg ) |
|
03/2000-08/2000 |
|
Funktion : Entwickler und Administrator
Aufgabe : Entwicklung verschiedener logischer Bausteine (deliverydate, holiday, pricing, db-updating...)
sowie Qualitätssicherung / Debugging innerhalb des Intershop-Enfinity Frameworks.
Umgebung : Intershop, emacs, java und bash unter WinNT und Sun Solaris |
|
BlueOrbit ( Hamburg ) |
|
09/1999-02/2000 |
|
Funktion : Entwickler
Aufgabe : Entwicklung eines eMail Verschlüsselungs-Servlet mit Java / Cryptix
Implementierung von Oracle DB-connections und Datenkonsistenzprüfungen in Java,
unterstützende Scripte und ftp download Scripte zur Datenaktualisierung.
Umgebung : jsp auf tomcat, java und cryptix unter WinNT, HP-UX und linux |
|
Rockwell-Collins Germany /
DASA ( Heusenstamm / Frankfurt.Main ) |
|
01/1999-08/1999 |
|
Funktion : Entwickler
Aufgabe : Entwicklung einer Sende- und Empfangsantennen-Steuereinheit mit korrespondierendem Simulator
und iso9001 Zertifizierung.
Umgebung : IBM Visual Age c/c++ und UML unter OS/2 |
|
OtelO Telecommunications ( Köln ) |
|
08/1998-12/1998 |
|
Funktion : Entwicklung und Qualitätssicherung
Aufgabe : Debugging und Entwicklung Oracle Frontend und Oracle Trigger.
Umgebung : Visual c++, sql, Oracle |
|
Motionpoint ( Aachen ) |
|
03/1997-06/1998 |
|
Funktion : Administration und Entwicklung
Aufgaben : Webseitenentwickling in HTML, Java-Script, Shell-Script (bash)
Admininstration von dns, apache, ftp, squid
Umgebung : linux |
|