projects

January 2021 [ PDF ] [ back ]

Name Schackmann, Stefan

Besi Austria GmbH ( Radfeld, AT ) 01/2020-12/2020
Function : Developer
Task : Bugfixes, improvements and feature implementation for the Evo line machinecontroller Software.
Special attention is payed on compatibility to the previous version and its parameters, on the multithreaded/multitasked runtime behavior and to the version control and maintenance via git.
Environment : C++ and Qt with git and Jira on Linux

LTG - Gorba AG ( Oberbüren, Sui ) 02/2018-09/2019
Function : Developer
Task : Development of imotion positioning module for an onboard passenger information system.
The onboard module inside the vehicle connects to an GPS provider (gpsd via json) for the actual geoposition of the vehicle and to a local sqlite db for current tripinformation. With this input it computes frequently the actual distance to the next stop and to the destination and provides it to the onboard system. Stable operation with high frequency and low CPU and Mem usage for the algorithm is accompished.
Environment : C# .Net Framework 2.0 on Windows 8

Task : Development of imotion forecast module for an onboard passenger information system.
With the distance information from the position module, the forecast module computes frequently the estimated times to the next stop, to the destination and displays relevant connections at the next stop and optional disruption messages. Fast response times even at high frequency with low CPU usage is archieved.
Environment : C# .Net Core 2.1 on Windows 8/10

Task : Development of a simulation system for an onboard passenger information system.
The simulation can record productive trips with all relevant data inside the vehicle, up- and download the datafiles and replay the recorded trips i.e. in a lab environment. The relevant modules implement the simulation baseclass to communicate with the Admin webinterface in control.
Environment : C# .Net Framework 4.7 and Core 2.1 on Windows 8/10

Task : Implementation of icenter import application for the timetable information.
This application waits for new information files in the filesystem, checks for valididy, converts them into a zipped sqlite format and serves them via http to the vehicles. The vehicles check regularly for updates and loads them on the fly.
Environment : C# .Net Framework 4.7 and Core 2.1 on Windows 10

Siemens AG ( Munich, Ger, CT RTC ITS SEcurityArchitecture ) 08/2014-09/2018
Funktion : Developer
Task : Implementing an OPC Ua extension for an Oneway-Gateway.
The OnewayGateway hardware ensures an unidirectional and secure Communication of two separate networks. To make bidirectional protokols (request/response) work, there are additional software modules required for the protocol in question. In case of OpcUa this means to read the data structure tree from an Opcua server, serialize it and send it to the receiver. The same applies to the data nodes, but with a subscription to receive callbacks whenever the data changes. The collected data gets serialized and sent to the receiver where it is inserted into the mirrored Opcua server. This way a readonly mirror of the original Opcua server is realized via an unidirectional network tap. The OpcUa SDK from Unified Automation was used.
Environment : C++14 with gcc/make on Linux and Visual Studio 2015 on Windows

Task : Development of a software for an End Entity and a casdcaded Registration Authority RA / LRA for automated distribution of device and service certificates X.509 from a CA with secure coding guidelines applied.
The CMP protocoll is implemented on the End Entity and on the RA and this protocal is also supported by the EJbCA. The devices receive their device certificate in a secure env during production and recive further certifictes automatically to secure communication and identity to /of the device. During transportation the certificate request and also the certificate is validated by the device, each LRA, the RA and by the CA. Additionally a mutual TLS connection with OCSP is established.
Environment : Java with Eclipse and BouncyCastle on Windows, C++14 and Bash scripts on Linux

Task : Development of a Registration Authority RA for rollout of device- and service certificates X.509 with using the Windows Keystore or PKCS12 and with secure coding guidelines applied.
The devices receive their initial device certificate manually and with that the devices request further certificates via the EST protocoll from the RA / LRA which forwards the request to a CA and returns the certificate. That way a secure communication to a securely identified device is archieved.
Environment : C# .NET and MS CryptoLib on Windows

BMW AG ( Munich, Ger ) 05/2012-04/2014
Function : Architect and Developer
Task : Conception and Implementation of a NFC Customer Card for the CarSharing-User featuring up-to-date security algorithms and -mechanism for Car access and use in online as well as in offline case.
Environment : JavaCard and Java with Eclipse on JCOP and Android

Task : Definition of the Software-Architecture for the 4-Controller Device CarSharingModul. The challenging features are to provide a flexible Platform on the Android-Controller, to avoid manipulation, misuse or fraud on the Security-Controller and to establish fast, stable and secure communication via the radio module. This includes signing, encryption, challenge-response-mechanisms and the use of certificates.
Environment : C++11 and Java /w Eclipse on Android and Linux

Task : Porting of the Mapnik-Lib and its dependencies to Android.
Converting the App AdvancedMapViewer and its Libs from Java to C++11 to improve Runtime performance.
Environment : C++11 and Java /w Eclipse on Android-NDK

Fritz Gyger AG ( Thun, Sui ) 09/2010-02/2012
Function : Developer
Task : Implementation of a software for a medical labdevice Dispenser.
The controlunit runs on embedded WindowsPC and uses PlugIns for flexible IO. The GUI, also a PlugIn, communicates via TCP to the controlunit. Textlog, Sqldb or GraphicalLog are further PlugIns. Even a SiLA connection for PMS integration is implemented. To protect company's knowledge the project is obfuscated.
Environment : C# .Net4 with WPF on Windows 7

Schackmann 03/2010-05/2010
Function : Developer
Task : Learn the Programminglanguage Go.
Googles new programming language was created by wellknown developers as an open-source project. Called a modern C go's concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines. By numerous little applications I learned Go's concepts, runtime behavior and its tools.
Environment : go, linux

several small projects 09/2009-02/2010
Syscona ( Freudenberg, Ger ) 07/2009-08/2009
Position : Consulter
Task : Establish realtime capability.
Modification of the memory management of a controller for an optical Unit to meet the required reaction time of the rig. A simulation verifies the runtime behavior under highest load.
Environment : C# .NET

Enrichment Technology Company ( Forschungszentrum Jülich, Ger ) 10/2005-12/2008
Position : Designer and Developer
Task : Creation of a Framework.
Implementation of a modular Componentsystem to reduce time of development for machine control and minimize fault liability.
Environment : C# .NET

Task : Development of a Hardware Abstraction Layers for CAN, OPC and ADC access.
This library provides an uniform and simple access to hardware components. Special attention was paid on fast response times.
Environment : C++ using ATL

Task : Development of a straightening device
Realtime device controller for pneumatic and electrical units using mathematical algorithms, remote Gui via Tcp/Ip.
Environment : C# .NET

Task : Development of a Software to run a Productionline
Realtime device controller in a distributed System, remote GUI via Tcp/Ip.
Environment : c# .NET

Hella ( Lippstadt/Recklinghausen, Ger ) 04/2004-09/2004
Position : Developer
Task : Development of a library to compensate systematic errors of sensors.
Numerical systems were used to extract the individual characteristic errors and to write the corresponding compensation registers of the asic.
Environment : C, DOS.
Biz'Quit ( Cologne, Ger ) 10/2003-02/2004
Position : Developer
Task : Design and Development of a media information systems.
This is an ejb based client server architecture. A flexible and extensible dataformat was authorative.
Environment : J2ee, ejb, SunOneStudio, mySql on Linux.
First Frame ( Cologne, Ger ) 07/2003-09/2003
Position: Technical Leader and Developer
Task : Design and Development of an automated database-driven email replyer system. Special attention was paid on portability (win/unix).
Environment: C++, Kdevelop, QT Library
Schackmann ( Cologne, Ger ) 07/2002-06/2003
Position : Developer
Task : Design and Development of Libraries for a Real World Simulation.
This includes mass-weight-, inverse kinematics- and neural network modules.
Environment : MS.NET C#, g++ and doxygen.
Alcan ( Singen, Ger ) 09/2001-06/2002
Position : Technical Leader and Senior-Developer
Task : Design and Development of an automated delivery-note processing system
including a flexible, customer-oriented datainput format.
The provider mails the chemical composition of the aluminium skelp. The mail gets evaluated, the quality is identified, the order confirmed and the data stored for postprocessing.
Environment : Microsoft.NET / C#, sql with Win2k
Evotec OAI Biosystems ( Hamburg, Ger ) 09/2000-08/2001
Position : Developer
Task : Development of a modularized Cellreader Control Software including CAN-Bus and with OO- and AO- Design in timecritical and distributed environement.
Control units for Laser, X-Y-Table, CAN-Components, Camera or Shutter were developed, as well as modules for image analyse, operational surveillance or data storage.
Environment : Visual C++ and MFC, doc++, Visio
Otto-Supermarkt ( Hamburg, Ger ) 03/2000-08/2000
Position : Developer and Administrator
Task : Development of several logical units (deliverydate, holiday, pricing, db-updating...) and quality control within the Intershop-Enfinity framework.
Environment : Intershop, emacs, java and bash on WinNT and Sun Solaris.
BlueOrbit ( Hamburg, Ger ) 09/1999-02/2000
Position : Developer
Task : Development of an email-encryption servlet
Implementation of Oracle connection and data-validation, useful support scripts and ftp download scripts for periodic tasks like data-update.
Environment : java jsp, tomcat and cryptix on WinNT, HP-UX and Linux.
Rockwell-Collins Germany / DASA ( Frankfurt, Ger ) 01/1999-08/1999
Position : Developer
Task : Development of Receiver Antenna Control Unit and corresponding Simulator.
Environment : IBM Visual Age C/C++ and UML on OS/2.
OtelO Telecommunications ( Cologne, Ger ) 08/1998-12/1998
Position : Development and quality control
Task : Debugging and Development for Oracle Frontend and Oracle triggers.
Environment : Visual C++, sql, Oracle
Motionpoint ( Aachen, Ger ) 03/1997-06/1998
Position : Administration and Development
Task : Web- development using HTML, Java-Script, Shell-Script (bash) Admininstration of dns, apache, ftp, squid.
Environment : Linux