Fachlicher Schwerpunkt dieses Freiberuflers

Softwareentwicklung, Unix, Linux, ARM, Embedded, C, C++, Perl, Python, XML, SQL

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

D7

Städte
Ravensburg (Württemberg)
300 km
Kontaktwunsch

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

Projekte

05/2018 - 09/2019

1 Jahr 5 Monate

TALL Transport System

Rolle
Software-Ingenieur
Einsatzort
Stuttgart
Kenntnisse

C++11

Linux

Embedded C++

Yocto

Jenkins

RS422

IEC62304

IEC60601

Produkte

Yocto

Jenkins

SonarQube

Enterprise Architect

Gtests

Protobuf

Bitbucket

Git

GNU-Compilersammlung

03/2017 - 04/2018

1 Jahr 2 Monate

European Train Control System

Rolle
Software-Entwickler
Einsatzort
Stuttgart
Projektinhalte

Als Software-Ingenieur habe ich Anforderungen der UNISIG (Requirement-Driven-Development), aus der ETCS-Spezifikation, Subset-26, analysiert und die entsprechenden Komponenten der CoreEngine angepasst bzw. erweitert.

Die CoreEngine überwacht und steuert alle Prozesse und Ereignisse die zur Kontrolle des Fahrzeuges erforderlich sind. Die Anforderungen des Subset-26 sind in der CoreEngine implementiert und stellen damit die Prozesslogik des Systems dar.

Meine Anpassungen betrafen hauptsächlich interne Komponenten, dass waren unter anderem, die Movement-Authority Unit (MA), der National-Values Controller, die ICF SubUnit, sowie der PersistenMemory Controller. Des Weiteren erhielt ich die Beauftragung, fehlerhafte Softwareelemente bzgl. der objektorientierten Umsetzung ausfindig zu machen und entsprechend zu korrigieren.

Kenntnisse

ETCS

SIL4

MISRA

Test-Driven

Embedded

Scrum

C/C++

EN50128

Produkte

Eclipse

Emacs

IBM Rational DOORS

Jira

IBM Rational Rhapsody

google-Test

google-Mock

QAC/QAC++

11/2011 - 02/2017

5 Jahre 4 Monate

ION-U® ( Distributed-Antenna-System )

Rolle
Softwareentwickler, Softwarearchitekt
Projektinhalte

Komponente : HwAccess

Die Steuergeräte der Remote-Einheit sowie der Zentraleinheit (19“ Rack) benötigen ein Serviceprogramm, das die Kommunikation zu den angeschlossenen Modulen ermöglicht. Über den lokalen IM-Bus (CAN) werden die Module anhand einer sogenannten HID identifiziert und dadurch für eine nachfolgende Überwachung registriert. Des Weiteren verfügt die Remote-Einheit über einen separaten I²C-Bus, der speziell zur Steuerung (watchdog, heartbeat) des Stromversorgungsmoduls verwendet wird. Sobald die Modul-Erkennung abgeschlossen ist, wechselt der HwAccess in den Überwachungsmodus. Jedes Modul kann verschiedene Alarme melden diese werden in ein definiertes Format transformiert und durch eine entsprechende Notifizierung zur Zentraleinheit übertragen. Ein weiterer Bestandteil des Überwachungsmechanismus ist der 'dr-mode', der mit einem kürzeren Interval arbeitet und zusätzliche Modulparameter protokollieren kann. Während die Überwachung im Hintergrund weiter ausgeführt wird, können Befehle an verschiedene Module gesendet werden. Dazu werden die empfangenen XML-Nachrichten in das CAN-Nachrichtenformat transformiert und unter Verwendung des Busprotokolls an das Modul übertragen. Die Antwort wird wieder in das definierte XML-Format zurückübersetzt. Die Nachrichten können, direkt vom Benutzer über eine grafische Benutzerschnittstelle initiiert werden oder durch externe Service-Prozesse. Dies wird vor allem für die Konfiguration des Systems und dem Leveling verwendet, wobei letzteres zur Maximierung der Sendeleistung erforderlich ist.

Komponente : eventmanager

Für die Interprozesskommunikation wird eine Server-Applikation verwendet die ereignisorientiert unterschiedliche Prozesse mit Nachrichten versorgt. Die Reimplementierung bzw. Erweiterung betrifft insbesondere die Annahme sowie Verteilung der Nachrichten. Unter Verwendung der Standard Unix-IPC Methoden können sich Prozesse für bestimmte Ereignisse registrieren sowie Ereignisse protokollieren. Sofern ein entsprechendes Ereignis auftritt, erhalten die angemeldeten Prozesse den Hinweis auf ein Ereignis.

Komponente : dbWrapper

Der verwendete Datenbank-Adapter soll erweitert werden. Fehlende Funktionen, wie zum Beispiel der prepare-Statement Mechanismus werden benötigt. Auch ein Multiprozess-Support, zur Synchronisation gleichzeitiger Zugriffe, und eine Thread-Protection sind erforderlich.

Kenntnisse

C/C++

SQL

IM Bus

I2C Bus

XML

C++ STL

Scrum

Sockets

Unix IPC

Produkte

Emacs

Enterprise-Architect

Polarion

log4cplus

SQLite3

OpenEmbedded

Yocto

svn

make

07/2011 - 10/2011

4 Monate

High-Speed-Internet

Rolle
Softwarearchitekt, Softwareentwickler
Projektinhalte

Für die Auswertung der High-Speed-Internet Daten sollen die vorhandenen Prozesse reimplementiert werden. Dadurch werden sieben einzelne Programme durch ein einziges Kontrollprogramm ersetzt. Dazu wird es notwendig sein die pgsmart Komponente bzgl. dem Transfer großer Datenmengen zu erweitern. Des Weiteren soll die Importkomponente des 'Delphi-Systems' neu erstellt werden, mit dem Fokus die Daten direkt zu verarbeiten (Stichwort: Ohne DBLink). Eine weitere Aufgabenstellung bezieht sich auf die SCPM-Daten. Die Verarbeitung muss auch bei einer 'Primary-Key-Violation' erfolgreich und korrekt abgeschlossen werden. Ferner wird ein Notification-Tool benötigt, dass beliebig viele Server und deren Logfiles auswerten kann und diese Statiinformationen dem Anwender, visuellaufbereitet, auf dem Desktop darstellt.

Kenntnisse

Agile Entwicklung

SQL

Python

regexp

threads

Produkte

Emacs

Doxygen

Maketools

Oracle 10g

PostgreSQL 9

MS Windows

Linux / CentOS

python 2.5

PyQt 4.8.5

Git

03/2011 - 06/2011

4 Monate

AccessDispatcher

Rolle
Softwareentwickler
Projektinhalte

Reimplementierung des AccessDispatcher unter Verwendung vom C/C++. Für die Kommunikation zwischen Clientanwendungen (zOS) und mehreren Unix-Servern, soll der Access-Dispatcher ankommende Anfragen annehmen und an die entsprechenden Server-Prozesse weiterleiten. Pro Client übernimmt ein Thread die Verwaltung eines Shared-Memory Segments, das für die Kommunikation zwischen Client- und Serverapplikation verwendet werden soll. Ausserdem soll der Access-Dispatcher, sofern kein aktiver Serverprozess vorhanden ist, diesen eigen-ständig starten. Sehr hohe Anforderungen bzgl. Performance, Skalierung (> 5000 parallele Clientanfragen) sowie Robustheit werden abschliessend vom einem Testteam überprüft. Der Destructive-Testlauf konnte erfolgreich abgeschlossen werden.

Kenntnisse

C/C++

Linux

Unix Solaris

Sockets

pthreads (posix 1003.1)

zOS

Produkte

Emacs

Maketools

mercurial

ncurses

Doxygen

12/2010 - 02/2011

3 Monate

VoD Import

Rolle
Softwarearchitekt, Softwareentwickler
Projektinhalte

Für die VoD-Analyse sollen XML- und CSV-Daten eingelesen, gefiltert und in entsprechende DB-Tabellen importiert werden. Dabei ist die Erkennung relevanter Informationen sowie deren Konvertierung zu berücksichtigen. Des Weiteren werden, während der Importphase, zusätzliche Metadaten erzeugt, die für die spätere Endauswertung relevant sind. Da für den Produktiv-einsatz mit hohen Datenmengen zu rechnen ist, werden sowohl Ressourcenkonsum als auch Performanceaspekte berück-sichtigt.

Kenntnisse

Agile Entwicklung

SQL

XML SAX

regexp

Linux

Produkte

Emacs

Doxygen

PostgreSQL

Python

Git

07/2010 - 11/2010

5 Monate

Visualisierung der Versorgungsdaten

Rolle
Softwareentwickler
Projektinhalte

Die verwendete GUI soll erweitert werden, sodass auch die Produktdaten angezeigt werden. Vor allem sollen die Grafiken (Balken- und Liniendiagramme) skalierbar in der Darstellung sein. Um das zu erreichen soll das SVG-Grafikformat verwendet.

Kenntnisse

Java

SQL

Produkte

Eclipse

Maven

DB2

Apache Tomcat

JDBC

svn

01/2010 - 06/2010

6 Monate

Prognose azyklischer Saisonartikel

Rolle
Softwareentwickler
Projektinhalte

Speziell für Produkte aus dem Fashionbereich, müssen die Prognose-Algorithmen ein differenziertes Verhalten bzgl. der Langzeitprognose aufweisen. Es soll ein Verfahren implementiert werden, das eine automatische Erkennung aufgrund dynamischer Gruppierungsverfahren (Stichwort: Clustering, Data-Mining) ermöglicht.

Kenntnisse

C/C++

SQL

LInux

Produkte

Emacs

make

CPPUnit

PostgreSQL

07/2009 - 12/2009

6 Monate

Analyseprogramm portieren

Rolle
Softwareentwickler
Projektinhalte

Verschiedene Auswertungstools, programmiert in unterschiedlichen Programmiersprachen (awk, perl, shell und C++), sollen durch eine einzige Programmapplikation ersetzt werden. Als Programmiersprache soll Perl eingesetzt werden, weil die Unterstützung durch das DB-Interface hervorragend und vor allem performant ist. Die verwendeten statistischen Verfahren werden bei dieser Gelegenheit, bedarfsorientiert, verbessert und um zusätzliche Funktionen erweitert. Die Güte der Verfahren soll durch abschließende Tests verifiziert werden.

Kenntnisse

Perl

SQL

Linux

Produkte

Emacs

svn

PostgreSQL

06/2008 - 06/2009

1 Jahr 1 Monat

Aktionsprognose

Rolle
Softwarearchitekt, Softwareentwickler
Projektinhalte

Basierend auf vorhandenen Aktionsprofilen sowie aktueller bzw. zukünftiger Aktionsparameter soll das Prognose-System Preisaktionen bzgl. Menge und Zeitpunkt vorhersagen können.

Die neue Komponente wird als Upgrade von V3 auf V4 erfasst. Die einzelnen Softwarekomponenten müssen eine Endabnahme bestehen. Dabei sollen alle automatisierten Tests erfolgreich abgeschlossen werden. Alle Ergebnisse müssen einem Soll/Ist Vergleich standhalten.

Kenntnisse

C/C++

STL

Boost

SQL

Linux

Produkte

Emacs

make

cvs

Doxygen

CPPUnit

PostgreSQL

MySQL

05/2007 - 05/2008

1 Jahr 1 Monat

Filialdisposition

Rolle
Softwarearchitekt, Softwareentwickler
Projektinhalte

Die Kern-Algorithmen für die Berechnung der Belieferungsstrategie funktionierten nur für eine Teilmenge der möglichen Vorgaben. Die Reimplementierung der Kernfunktionalität mit abschließendem Test ist unumgänglich. Für diesen Test wurden ca. 35000 Testfälle künstlich erzeugt. Zur Datenreferenzierung soll zusätzlich ein Filter, SQL basiert, implementiert werden. Des Weiteren muss ein Algorithmus implementiert werden der die vorhandene Liefermengen in eine Sollbestandsmenge um- rechnet. Zusätzlich sollen alle Sicherheitsparameter eines Bestellvorschlags berücksichtigt werden.

Kenntnisse

C/C++

STL

SQL

Linux

Produkte

Emacs

make

STL

CPPUnit

Oracle 10g

Toad/Tora

11/2006 - 04/2007

6 Monate

Oracle-Adapter

Rolle
Softwarearchitekt, Softwareentwickler
Projektinhalte

Im Zuge einer Testphase konnte gezeigt werden, dass der verwendete Oracle-Adapter fehlerhaft arbeitet. Durch die Reimplementierung dieses Adapters sollen auch die proble-matischen Testfälle erfolgreich verarbeitet werden.

Kenntnisse

C/C++

STL

SQL

Linux

Produkte

Emacs

make

cvs

Oracle 10g

SQuirreL

05/2006 - 10/2006

6 Monate

Filialbelieferung

Rolle
Softwareentwickler
Projektinhalte

Basierend auf historischen Daten soll eine einfache Auswertung erstellt werden, die für die Ermittlung der Belieferungsmengen in den Hauptsaisons verwendet werden kann.

Kenntnisse

C/C++

STL

Perl

Python

SQL

Linux

Produkte

Emacs

make

cvs

Doxygen

MySQL

05/2005 - 04/2006

1 Jahr

Optimierung der Clusterverfahren

Rolle
Softwareentwickler
Projektinhalte

Die Güte der Clusterung nicht ausreichend, deswegen soll das Verfahren durch ein besseres H.-K-Means ersetzt werden. Ein abschließender Test, dabei werden Produktivdaten verwendet, muss erfolgreich abgeschlossen werden. Zur Verfikation der Clusterqualität wird ein Tool mit GUI benötigt, dieses wird mit Python unter Verwendung der TKInter-API umgesetzt.

Kenntnisse

C/C++

STL

Python

OS390

Produkte

Emacs

make

cvs

Doxygen

CPPUnit

11/2003 - 04/2005

1 Jahr 6 Monate

Arima-Engine

Rolle
Softwareentwickler, Softwarearchitekt
Projektinhalte

Die vorhandene Prognose-Engine soll redesigned und reimplementiert werden. Des Weiteren soll eine Test-Datenbank Verwendung finden, die ausgesuchte Referenzdaten zur Verfügung stellt, sodass semantische Tests ausgeführt werden können. Zusätzlich sollen für alle Basis-Algorithmen Test erstellt werden.

Kenntnisse

C/C++

STL

SQL

Linux

Produkte

Emacs

make

cvs

Doxygen

freetds

Sybase

MS-SQL Server

01/2003 - 10/2003

10 Monate

VFN

Rolle
Softwareentwickler
Projektinhalte

Die Hauptaufgabe ist die Implementierung eines Batch-Moduls, das den gesamten Datentransfer steuert. Der Datentransfer zwischen dem Cobol-Interface und dem C++-Programm soll dabei dateiorientiert stattfinden. Das Protokoll hierzu wird gemeinsam mit dem hausinternen Dienstleister des Kunden, der Itellium GmbH, erarbeitet.

Aufgrund der hohen Prozesskosten auf dem Host-Rechner ist die Steigerung der Performance und die dadurch reduzierte Laufzeit, zwingend erforderlich.

Kenntnisse

C/C++

STL

STLPort

SQL

OS390

Produkte

Emacs

XlC++

make

Doxygen

DB2

09/2002 - 12/2002

4 Monate

Arima DBI

Rolle
Softwareentwickler
Projektinhalte

Code-Reviewing und Code-Refactoring der Softwarekomponenten. Beratend tätig für die Konzeption und Realisierung des Datenbankinterface. Funktionelle Erweiterung der hausinternen Groupware. Definition eines Style-Guides zur Gewährleistung der Entwicklungsqualität.

Kenntnisse

C/C++

STL

PHP

SQL

Linux

Produkte

Emacs

make

cvs

Doxygen

Sybase

10/2001 - 08/2002

11 Monate

I/O Prozesse der WaWi

Rolle
Softwareentwickler
Projektinhalte

Die neue Warenwirtschaftsumgebung (CARUS AG) macht es erforderlich die Import- & Exportprozesse zu reimplementieren. Programmteile die noch in ANSI-C implementiert sind, sollen durch C++ Implementierungen ersetzt werden. Außerdem muss das Prozesskontroll-Modul neu implementiert werden. Dieses soll die einzelnen Prozesse überwachen und entsprechend steuern.

Kenntnisse

C/C++

STL

Unix IPC

Linux

Produkte

Emacs

make

cvs

Doxygen

08/2001 - 09/2001

2 Monate

Process-Watchdog

Rolle
Softwareentwickler
Projektinhalte

Im ersten Schritt soll für die Abteilung 'Intelligente Systeme' soll die Prozesssteuerung mittels eines einfachen Shell-Skriptes automatisiert werden.

Der XMLSentinel soll als Server-Prozess, den Datenaustausch zwischen verschiedenen Datenbankpools, überwachen und entsprechende Protokollmeldungen erstellen. Die Grammatik (Struktur) der Daten wird durch verschiedene XMLSchemas beschrieben, sodass der XMLSentinel syntaktische Test autonom ausführen kann.

Kenntnisse

Shell-Script

Java

Linux

Solaris

Produkte

Emacs

make

JDeps

vss

Xcerces

Xalan

04/2001 - 07/2001

4 Monate

XML/XSL Konverter

Rolle
Softwareentwickler
Projektinhalte

Das Content-Managementsystem der Firma Webfair soll für das Portal der Kardex-Remstar AG verwendet werden. Webfair benutzt für die Aufbereitung des Content eine XML orientierte Vorgehensweise. Dabei bedarf es der Implementierung eines Konverters pro Content-Seite.

Das anschliessende Upgrade der Webfair Engine macht es erforderlich die XML/XSL Konverter zu reimplementieren und die Strukturen neu zu definieren.

Kenntnisse

Java

Windows NT

SQL

XML

JavaDoc

Solaris

Produkte

Emacs

make

JDeps

vss

Xcerces

Xalan

Webfair

MS-SQL Server

01/2001 - 03/2001

3 Monate

FIFA-Ticketsystem

Rolle
Softwarearchitekt
Projektinhalte

Für den Datentransfer eine Ticketsystems, soll eine XML basierte Lösung aufgezeigt werden. Die Erstellung des Feinkonzepts und die Implementierung diverser Prototypen soll zeitnah fertiggestellt werden. Letzteres soll die Machbarkeit des Ansatzes untermauern.

Kenntnisse

Java

XML

Linux

Produkte

Emacs

make

JDeps

vss

Xcerces

Xalan

ebXML

10/2000 - 12/2000

3 Monate

Future Bank

Rolle
Softwareentwickler
Projektinhalte

Als Mitglied des Intershop-Teams (Future Bank Projekt) muss die Visualisierung der Finanzdaten mit den bestehenden Funktionen der AWT 1.1.8 Version umgesetzt werden. Die Verwendung der besagten AWT Version macht die Erweiterung unabdingbar um den Anforderungen gerecht werden zu können.

Das Contact-Team des Future Bank Projekts benötigt Unterstützung im Unix Administrationsumfeld. Nachdem die benötigten Softwarepakete installiert und konfiguriert waren, machten die hohen Sicherheitsanforderungen eine  Reimple-mentierung bzw. Erweiterung der Fax-Software-Komponenten erforderlich.

Kenntnisse

Java

AWT

Solaris

Windows NT

JavaDoc

Produkte

JBuilder

Siebel

PCVS

07/2000 - 09/2000

3 Monate

Connex© Java Interface

Rolle
Softwareentwickler
Projektinhalte

Das vorhandene Java-Interface der Connex©-Suchmaschine muss überarbeitet werden. Mit dem neuen Interface soll ein geringerer Integrationsaufwand, die Erweiterbarkeit, sowei eine bessere Trefferquote sichergestellt werden.

Kenntnisse

Java

Linux

Solaris

Produkte

Emacs

make

JDeps

JavaDoc

vss

03/1998 - 06/2000

2 Jahre 4 Monate

CAD/Alice

Rolle
Softwareentwickler, Softwarearchitekt
Projektinhalte

Unter der internen Projektbezeichnung ALICE soll eine Applikation entstehen, die Ingenieure bei ihrer Arbeit mit verschiedenen CAD-Systemen unterstützt. Eine Vielzahl von Anforderungen und Problemen soll dabei erfüllt bzw. überwunden werden :

  • Die Visualisierung (2D) frei definierbarer Unternehmens-strukturen unter dem Gesichtspunkt des Kunden-/ Projektaufbaus.
  • Unterstützung verschiedener CAD-Systeme (CATIA, Pro-Engineer, IcemSurf).
  • Zusätzlich zur Referenzplattform AIX (RS6000) ist die Unterstützung von Irix (SGI) vorgeschrieben.
  • Definition einer eigenen Skriptsprache zur Steuerung von konfigurierbaren Filter-Tools.
  • Anbindung an das vorhandene Backup-System.
  • Reimplementierung einiger systemnaher UNIX-Dienste, zur Steigerung der Portabilität.

Ausserdem ist die Implementierung einer separaten GUI unter Verwendung der OpenGL glut-Library notwendig. Modelldaten des IGES Formats sollen importiert und dargestellt werden. Die visuelle Erkennung der Oberflächenverformungen muss mittels eines Environment-Mappings ermöglicht werden.

Die verwendeten Filterprogramme sollen für das CATIA V4.18 CAD-System anwendbar sein. Unter Verwendung der CATIA Funktion-Tools sollen diese von AIX auf HP-UX portiert werden.

Kenntnisse

C/C++

STL

AIX

HP/UX

Irix

Linux

Produkte

Emacs

XlC

CATIA (V4)

ncurses

Optimizer

Qt

Branchen

IT-Dienstleister
Industrie
Telekommunikation
Software
Online-Handel
Consulting-Dienstleister

Handel

Kompetenzen

Programmiersprachen
C++11
C/C++
CORBA IDL
Embedded C++
Maketool
Objective C
Pascal
Perl
PHP
Python
Qt
Scriptsprachen
Shell
TeX, LaTeX
yacc/lex bison/flex

Betriebssysteme
AIX
HP/UX
IRIX
Linux
MVS, OS/390
SUN OS, Solaris
Windows

Datenbanken
DB2
MS SQL Server
MySQL
Oracle
Postgres
SQLite3
Sybase

Sprachkenntnisse
Deutsch
sehr gut, native speaker
Englisch
gut

Datenkommunikation
CAN Bus
I2C Bus
IM Bus
ISO/OSI
Message Queuing
OSF/DCE
RPC (sun)
RS232
Sockets
TCP/IP

Produkte / Standards / Erfahrungen
Agile Softwareentwicklung
ARM
Bitbucket
Boost
Corba
Emacs
Embedded
EN50128
Enterprise Architect
ETCS
Git
GNU-Compilersammlung
Gtests
IEC60601
IEC62304
Jenkins
Jenkins
Jira
log4cplus
Maketools
MISRA
OpenEmbedded
Polarion
posix threads
Protobuf
RPC
Sun, DCE/OSF
RS422
Scrum
SIL4
SonarQube
STL
Subversion
Test-Driven
UML
Unix IPC
vi/vim
XML
XMLSchema
Yocto

Design / Entwicklung / Konstruktion
Eclipse
google-Mock
google-Test
IBM Rational DOORS
IBM Rational Rhapsody
QAC/QAC++

Ausbildungshistorie

Diplom Informatiker (FH)

×
×