projekte

Januar 2021 [ PDF ] [ zurück ]

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