10/13 - 06/19
Software Architekt / Technischer Projektleiter
Für einen Chip-Hersteller
Automatisierung für ein Test-Framework.
(OOA/OOD, Netzwerke, 3GPP, Scrum, Continuous Integration, git)
08/13 - 09/13
Performance Optimierung Linux Samba Filesystem
Für ein Systemhaus
Performance Optimierung für eine Samba Filesystem in einer virtuellen verteilten Umgebung mit NFS und Active Directory mit Kerberos Authentifizierung.
(Linux, Samba, ADS, Kerberos, NFS)
02/12 - 07/13
Objektorientiertes Testframework in Python
Für einen Chip-Hersteller
Für automatisierte Tests von Performance-Parametern von mobilen Endgeräten, wurde ein Testframework weiter entwickelt. Schwerpunkte waren LTE, IP und Datendurchsatz in unterschiedlichen Bedingungen (Fading, Noise). Die Anbindung von Android-Geräten erfolgte über ADB. Es wurden Android Apps entwickelt, sowie nativer Code erzeugt.
(Python, OOA, OOD, Windows, Linux, Android, ADB, Clearcase, LTE, IP, TCP, UDP, Routing, AT, C#, XMLRPC, Threading, Wxpython)
12/11 - 01/12
RTP Test Suite
Eigenes Produkt
Design und Implementierung einer Netzwerk Performance Test Suite unter Nutzung des RTP Protokolls in C. Es werden die QOS Parameter Delay, Jitter, Packet Loss gemessen. Es werden RTP Streams generiert oder aufgezeichnete erneut abgespielt. Unterstützte RTP Payloads sind u.a. AMR und AMR-WB sowie Comfort Noise.
(RTP Protokoll, IP, PCAP, Windows, Linix, GTK++, C)
01/08 - 11/11
LTE Integration und Verifikation eNB
Für einen Netzwerkausrüster
Integration und Verifikation der Netzwerkkomponente eNB für LTE.
Layer 1,2,3, C-Plane, U-Plane. Equipment TM500 (Aeroflex), Nethawk, Pegasus, MME-Emulator.
(3GPP LTE, eNB, CruiseControl, Pegasus, ClearCase, Dimensions, Python, UE-Simulator, Core-Simulator)
07/07 - 12/07
Entwicklung eines Testframeworks mit Python
Für einen Netzwerkausrüster
Testautomatisierung mit Python. Erstellen von Komponenten eines Frameworks
zur Testautomatisierung im UMTS-Bereich.
(Python, ATM, IP, Signalisierung, Traffic Generator, RNC, MGW)
04/07 - 06/07
Debian on ATCA - Linux Experts Group
Für einen Netzwerkausrüster
Unterstützung für ein Projekt 'Debian on ATCA' als Mitglied einer Linux Experts Group.
Entwicklung für Remote Bootprozess. Mounten des Root Filesystems als TMPFS. Flexibles
laden des Root Contents über Web-Server.
(ATCA - Advanced Telecom Communication Architecture, Debian, RFS, TMPFS, Web-Server,
BOOTP, ...)
06/06 - 03/07
UMTS - Entity Integration Test
Für einen Netzwerkausrüster
Support for Testexecution Environment and Test-Design and -Execution.
(3GPP, RNC, NGTA, Carrier Grade Linux, Catapult-Tester, Agilent-Analyser)
11/05 - 02/07
Smartcard-Entwicklung
Für ein Systemhaus
GSM-SIM-Kartenentwicklung mit Schwerpunkt SIM-Toolkit und Toolkit-Applikationen:
Wireless Internet Browser (WIB1.2, WIB1.3), Remote File Management (RFM)
(Embedded Software-Entwicklung in C, Samsung, Renesas, GSM, ClearCase)
04/05 - 09/05
System Debugging für Mobile Phone (GSM) II
Für einen Chip-Hersteller
System Debugging für Mobile Phone (GSM) mit den Komponenten Protokoll-Stack, Message-Framework, MMI, Camera, Video, Audio, SMS, WAP, MMS, USB, IRDA, Bluetooth, Obex, WAP, MMS, Java auf Basis eines ARM-Controllers.
System-Debugging meint in diesem Fall die Analyse und Unterstützung auf allen Ebenen und in allen Komponenten des Mobile Phones für Fehler die nicht einer Entwicklungsgruppe zugeordnet werden können oder nicht von ihr selbst gelöst werden können.
Weiterhin gehörte die Untersuchung von Performance-Bottlenecks sowie die Beteiligung an Task-Forces (Audio, Obex, Bluetooth), die Vorbereitung von Abnahmetests als auch die Kommunikation mit dem Kunden zu den Aufgaben.
Für die Performance-Untersuchungen wurde der Nucleus-Kernel modifiziert. Das Resultat wurde grafisch in Excel-Diagrammen dargestellt.
Für die Analysen wurden u.a. Lauterbach Debugger, Ethereal, USB-, BT- und IRDA-Analyzer sowie eine Base-Station eingesetzt.
Die Tätigkeit fand auch diesmal wieder in einem internationalen Camp unter Beteiligung verschiedener Global Player auf dem Handymarkt unter Führung eines japanischen Auftraggebers statt. Das Mobile Phone wurde
bereits 1 Woche vor dem geplanten Termin abgenommen und konnte erfolgreich auf den internationalen Märkten platziert werden.
(Embedded Software-Entwicklung in C/C++, ARM, ClearCase, ARM C++, Lauterbach Debugger, Analyzer, Nucleus)
08/04 - 03/05
Integration für Mobile Phone Platform auf Basis ARM
Für einen Chip-Hersteller
Integration verschiedener Software-Komponenten und Features in ein vollständiges Referenz-System auf einer Platform für ein Mobiles Phone (GSM) auf Basis eines ARM-Controllers. Die zu integrierenden Komponenten bestanden u.a. aus Protokoll-Stack, Message-Framework, MMI, Camera, Video, Audio, FM-Radio, SMS, WAP, MMS, USB, IRDA, Bluetooth.
Für die erfolgreiche Integration war das Tool-Set auf einen Stand zu bringen der derart grosse Projekte erstmalig unterstützt (Compiler, Linker, ...).
In sämtlichen Komponenten erfolgte die Fehlersuche und -bereinigung. Die Komponenten kamen von verschiedenen Global Players sowie auch von kleineren Firmen, wobei teilweise Vorschläge zur Fehlerbehebung an die Zulieferer unterbreitet wurden oder auch gemeinsam die Fehleranalyse und Behebung betrieben wurde.
Die Connectivity-Komponente USB wurde fertig entwickelt und integriert.
Für die Komponenten USB, Video, Java und GPRS wurden Performance-Optimierungen und Anpassungen an neue Compiler-Versionen durchgeführt.
Als Versionverwaltungssystem wurde ClearCase verwendet.
Als Debugging-Werkzeuge wurden der Lauterbach-Debugger und diverse Analyzer (USB, BT, IRDA) eingesetzt.
(Clearcase, Clearquest, ARM-C++, Lauterbach-Debugger, Analyzer, Nucleus)
04/04 - 07/04
Performance Optimierung für Mobile Phone Platform
Für einen Chip-Hersteller
Weiterentwicklung, Fehlersuche und Performance-Messungen mit Optimierungen auf zwei Plattformen für Mobile Phones auf Basis des C166.
Die Tätigkeit erfolgte teilweise in Italien.
(Embedded, Lauterbach Debugger, C++, C166, OSE166)
04/03 - 03/04
Entwicklung für Mobile Phone (GSM) I
Für einen Chip-Hersteller
Entwicklung und Integration für Mobile Phone (GSM) mit u.a. WAP, MMS, Java auf Basis C166 mit Schwerpunkt Performance Optimierung der Java Virtual Machine und der Low-Level Graphics Routinen sowie der Gesamt-System-Leistung.
Die Entwicklung fand in einem internationalen Camp unter Beteiligung verschiedener Global Player auf dem Handymarkt unter Führung eines japanischen Auftraggebers statt. Das Mobile Phone wurde erfolgreich auf den internationalen Märkten platziert.
(Embedded Software-Entwicklung in C++ und Java, C166, ClearCase, Tasking C++, Lauterbach Debugger, OSE166)
02/03 - 03/03
Embedded CAN-Bus MP3-Player
Studie
Hardware-Entwicklung eines MP3-Players auf Basis der 16 Bit MCU 90F543 von Fujitsu und einem VS1001k MP3-Decoder-DAC von VLSI. Die Versorgung des MP3-Decoders erfolgt über SPI. Der MP3-Player erhält Steuerungs-Nachrichten und den MP3-Stream über den CAN-Bus mittels eines proprietären High-Level-Protokolls von einem Linux-Rechner. Der Steuerrechner unter Linux hat Zugriff auf eine MP3-DB und bietet ein Web-Frontend als UI.
Zu entwickeln waren u.a. ein CAN-Bus Gerätetreiber unter Linux, der sowohl ein CAN-Bus-Interface auf Basis des SJA1000 von Philips ansteuert als auch effizient das HL-Protokoll implementiert. Ein eigens erstelltes Anwendungsprogramm nimmt die vom Frontend erstellten Spiellisten entgegen und sendet die Daten an den MP3-Player.
(Embedded Hard- und Software-Entwicklung in C und C++, Fujitsu MCU 90F543, Philips SJA1000, VLSI VS1001k, SPI, CAN-Bus, Linux-Device-Driver, MP3, PHP)
12/02 - 01/03
Verzögernde Ethernet-Bridge mit Linux
Eigenes Produkt
Zur Simulation von Latenzzeiten bei der Übertragung von Daten über grosse Entfernungen wurde ein Ethernet-Bridge mit einem definierten Verzögerungsmechanismus ausgestattet. Zur Erhöhung der Genauigkeit wurde Zusatzhardware mit einem High-Resolution-Timer entwickelt sowie Linux-Geräte-Treiber dazu geschrieben.
(Linux Kernel, PC, Module, Hardware, Linux-Treiber, C)
09/02 - 11/02
Embedded Web-Remote-Control
Studie
Zur Steuerung und Überwachung von Aktoren und Sensoren über das Internet wurden Controllerboards auf Basis der MCUs Dallas 90C390 und Fujitsu 90F543 mit dual CAN bzw. SJA1000 eingesetzt. Über einen Web-Server (TINI) und ein Can-Gateway können Zustände in einem Device-Netzwerk (CAN-Bus) weltweit angezeigt und geändert werden.
(Embedded, TINI-OS, Dallas 90C390, Fujitsu CAN-Controller 90F543, CAN-Bus, 1-Wire, C, Java, Servlets, Internet, Hardware)
08/02 - 09/02
Implementieren eines Migrations-Tools für ein UNIX-Filesystem und Update von Filesystem-Utilities
Für ein Systemhaus
Zur Migration auf eine neue Filesystemversion ist ein Migrationstool zu erstellen, das die Strukturen eines verteilten Filesystems in einem SAN auf die neuen Anforderungen anpasst. Utilities zur Konsistenzprüfung (fsck) und zum Editieren des Filesystems (fsedit) sind an die neuen Strukturen anzupassen.
Dokumentation und Regressionstests.
(Sinix-Z, UNIX, Linux, C, SAN, Storage, Kernel-Emulator)
06/02 - 08/02
Studie zur Extension von Fibre-Channel SANs
Für ein Systemhaus
Untersuchungen zur weltweiten Erweiterung eines Storage-Systems auf Fibre-Channel Basis.
(Themen: FCIP, FC-BB, FC-BB2, DWDM, ATM, Sonet/SDH, iFCP, mFCP, iSCSI, Latenzzeiten, Remote Storage, synchrone Datenspiegelung, SAN, NAS, NFS, DAFS, TFTP, Sinix-Z)
05/02 - 06/02
Tuning einer DB-Applikation für Firebird/Interbase
Für ein Systemhaus
Beschleunigung einer DB-Applikation um den Faktor 100 durch Änderung des Transaktionsmodells, des Statement-Modells, der Änderung von Indices und der Einführung von PLANS.
(Sinix-Z, Interbase/Firebird, Unix, DSQL, C, Storage)
04/02 - 05/02
Analyse von Datenstrukturen für virtuelle Storage Applikation
Für ein Systemhaus
Zur Vorbereitung der Umstellung auf ein RDBMS (Firebird/Interbase) wurden die Datenstrukturen und Speichermechanismen in einer verteilten UNIX embedded Applikation untersucht.
(Storage, SAN, UNIX, Entity Relationship Diagramme)
09/01 - 03/02
Fortbildung Internet-Technologien
Aufbau eines Application-Servers nach dem J2EE 1.3 Standard und Entwicklung von Beispiel-Applikationen.
(Apache, J2EE 1.3, Tomcat, Java 2, Java-Beans, EJB, JSP, HTTP, XML, HTTP, SOAP, Jini, MySQL)
07/01 - 08/01
Intelligente Netze: Wartung
Für ein Softwarehaus
Für die Projekte der letzten Jahre wurden Wartungsaufgaben übernommen.
(IN, SCP, C++, Datenbanken, IPC, Migration, RM600)
02/01 - 06/01
Intelligente Netze: Online-Migration von Subscriber Daten
Für ein Softwarehaus
Design und Implementierung von Funktionserweiterungen zur Online-Migration von
Teilnehmer-Daten in der Telekommunikation auf Real-Time-Rechner.
· Visualisierung des Status und Fortschritts auf Unix-Terminal
· Steuerung der Migrationen
· Performance-Optimierung
· Funktions- und Schnittstellen-Erweiterungen zu entferntem Rechner
(IN, SCP, C++, Datenbanken, IPC, Windows, HA-Unix-Cluster, TCP/IP, Messaging,
RM600)
07/00 - 01/01
Intelligente Netze: Datenbank-Anwendungen am Service Control Point (SCP)
Für ein Systemhaus
Design und Entwicklung von Datenbank-Anwendungen zum Update und zur Überwachung
von Teilnehmerdaten im Service-Life-Cycle. Analyse der Kundenanforderung,
Erstellen von Fachkonzepten, Implementierung, System-Tests.
Anwendungen z.B.:
· Unterstützung zur Euro-Konversion
· Versenden von Hinweisen zum Kontostand (Tickets, SMS)
· Sperren von Teilnehmern
(IN, SCP, C++, Datenbanken, IPC, Messaging, TCP-IP, Tickets, SMS,
HA-Unix-Cluster, RM600)
09/99 - 06/00
Intelligente Netze: Service-Design für Mehrwert-Dienste
Für ein Softwarehaus
Design und Implementierung von Diensten und Diensterweiterungen für Intelligene
Netze in der Telekommunikation.
· Number-Portability-Service
· Prepaid-Card-Service
· Erstellen der Anforderungsspezifikation
· Erstellen der Fachkonzepte
· Erstellen der Testspezifikation
· Implementierung und System-Test
(IN, grafische Service-Definition, Datenbanken, HA-Unix-Cluster, Repository,
Clear-Case, RM600)
04/99 - 08/99
Intelligente Netze: Web-Entwicklung im Umfeld SCP
Für ein Softwarehaus
Visualisierung und Eingabe von Daten über HTML, CGI, Perl, Java im Rahmen der
SCP-Entwicklung.
(IN, SCP, HTML, Perl, Java, Windows NT, RM600)
01/97 - 03/99
Intelligente Netze: Redesign des Service Control Points (SCP)
Für ein Systemhaus
Service Control Point (SCP) für IN-Dienste in der Telekommunikation.
Mitarbeit beim Redesign des zentralen Call-Processing-Systems.
· Projektleitung im Bereich Teilnehmerdaten, Statistik, Online-Migration und
Precounting (Tele-Vote-Call).
· Redesign, Funktionserweiterungen
· Implementierung in C++
· Dokumentation (Fachkonzepte, Testspezifikationen)
· Wartung und Support
· Change Requests (Analyse, Konzeption, Implementierung, Test)
(IN, SCP, C++, Datenbanken, IPC, Windows, HA-Unix-Cluster, TCP/IP, Messaging,
OMNI, Realtime, High Availability)
10/95 - 12/96
Intelligente Netze: Service-Design Applikation Projektleitung
Für ein Systemhaus
Projektleitung in der Entwicklung einer Applikation zur entfernten grafischen
Programmierung von IN-Diensten.
Features:
· Grafische Programmierung einer Service-Logik als gerichteter Graph mittels
Drag- and Drop von Building-Blocks
· Online- und Offline-Betrieb
· Model-Checker
· Implizite Datenmodellierung
· Versionsverwaltung
(C++, X11, TCP-IP, Client-Server, Unix, Intelligente Netze, RM200, RM600)
11/94 - 09/95
Intelligente Netze: Entwicklung Customer Care Center Applikation
Für ein Systemhaus
Entwicklung der Implementierung einer Client-Server-Anwendung zur Anbindung
eines Customer-Care-Centers in der Telekommunikation an einen Datenbank-Rechner.
(Visual-C++, TCP-IP, Client-Server, Authentication, Informix, Windows, Unix)
04/94 - 10/94
Menüführung für Testsystem - Design und Implementierung
Für ein Systemhaus
Design und Implementierung einer grafischen Oberfläche und Menüführung für ein
Standalone-Multiprozessor-Testsystem.
(C, Curses, Terminals, Unix, Multiprozessor-Kernel, RM600)
04/92 - 03/94
Portierung Multiprozessor-Kernel für RM600 (Mips)
Für ein Systemhaus
Portierung eines Kernels für ein Multiprozessor-Testsystem auf RISC-Prozessor
und neue Rechnerarchitektur (Mips, RM600)
(Systemprogrammierung in C auf RM600 unter UnixTM, MX500i, RM600, Multibus II)
04/90 - 03/92
Portierung Multiprozessor-Kernel für MX500 (Intel 486)
Für ein Systemhaus
Portierung eines Kernels für ein Multiprozessor-Testsystem auf CISC-Prozessor
und neue Rechnerarchitektur (Intel x86, MX500)
(Systemprogrammierung in C auf MX500 unter UnixTM, MX500, MX500i)
02/89 - 03/90
Bildanalyse in Echtzeit - Entwicklung
Für ein Ingenieurbüro
Bildanalyse unter OS9 in Echtzeit mit digitaler Kamera zur Qualitätssicherung
in der Glasindustrie. Implementierung des LSV2-Protokolls.
(C, OS9, LSV2, TCP-IP, CCD)