Stichwort|Beschreibung|Jahr|Assembler|C / C++|Visual Basic + ADO|Visual Basic .NET|SQL|MS Access|HTML und CSS|PHP|JavaScript|Java|Python|Ruby (on Rails)|Objective-C|Embedded Systems|Windows-Applikation|Web-Applikation|Datenbank-Applikation|Dynamische Dialoge|Berichte / Ausdrucke|Portierung|Fehleranalyse|Hintergrunddienst|Treiber|Bildverarbeitung|Multithreading|iPhone-App|Performance Optimierung
After Sales Service Verwaltung|Wir haben die Client-Seite dieser Verwaltung geschrieben. Das System beinhaltet Alles, von der Abwicklung der Stundenerfassung, über die Materialverwaltung bis zur Rechnungsstellung.
- Warenwirtschaft.
- Finanzbuchhaltung.|1996-1997|||||x|x|||||||||x||x|x|x||||||||x
Automatisches Testsystem|Erweitern eines Betriebssystems für Embedded Systems, sodass alle Benutzeraktionen und Ausgaben an ein Automatisches Testsystem umgeleitet werden können. Dies ist Teil eines Projektes zum automatischen Testen von systemübergreifenden Anwendungen (PC - Embedded System - Host - Peripherie).
- Die Steuerungsscripte werden in Python geschrieben.|2006-2008|x|x|||||||||x|||x||||||||x|x||x||
Betriebssystem Portierung|Ein auf NUCLEUS basierendes Echtzeit-Betriebssystem (Real-Time-OS) wurde auf verschiedene ATMEL Mikrocontroller der Familien AT91M, AT91RM und AT91SAM portiert.
- Externe FLASH Anbindung (verschiedene Hersteller).
- Externe SRAM / SDRAM Anbindung (Memory mapping).
- Advanced Interrupt Controller (AIC)
- Primary Boot mit individueller Mikrocontroller Initialisierung.
- Timer und Realtime Management.
- Verschiedene Protokolle / Schnittstellen zu externer Peripherie, z.B. über Synchronous Serial Controller (SSC) inkl. I²C, Universal Synchronous/Asynchronous Receiver Transmitters (USART) über DMA, Serial Peripheral Interfaces (SPI), Two-wire Interface (TWI).
- Portierung der Entwicklungsumgebung und der Download-Tools.|2003-2009|x|x||||||||||||x||||||x||x|x||x||x
Chipkartentreiber|Entwicklung von Chipkartentreibern für Embedded Systems.
- Basierend auf den Bausteinen der Firmen Philips (TDA Familie) und der Firma ATMEL (AT83C26 Familie).
- Integration in verschiedene Echtzeit-Betriebssysteme (Real-Time-OS) und Proprietäre OS.
- Zertifizierung der T=0 und T=1 Protokolle nach EMV2000 (Europay, MasterCard, Visa), ISO 7816 und SICCT (Gesundheitskarte).
- Unterstützung verschiedener synchroner Protokolle.
- Entwicklung des Treibers als Hintergrunddienst, sodass weitere Applikationen und Peripherie parallel zur Kartenkommunikation ablaufen können.|2002-2008|x|x||||||||||||x||||||||x|x||x||x
Content Management System|Ein individuelles Content Managment System für einen Teil einer größeren Webpräsenz.
- Verwaltung von Dokumenten für einen Download Bereich.
- Verwaltung von Beiträgen für einen geschützten Mitgliederbereich.
- Verwaltung von News Beiträgen.
- Verwaltung von Termininformationen.||||||x||x|x|x|||||||x|x||||||||||
Dienstplan Verwaltung|Ein Programm zur Erstellung von Dienstplänen und Abrechnung von Arbeitsstunden.
- Dienstpläne pro Mitarbeiter und pro Einsatzort.
- Automatische Generierung der Stundenabrechnung mit Option zur Anpassung von spezifischen Start-, Ende-Zeiten.
- Automatische Berechnung von Nacht-, Sonntags- und Feiertagsstunden.
- Individuelle Parametrisierung aller Zeiten, sowohl objektbezogene Dienstzeiten, als auch Nacht-, Sonntags- und Feiertagsstunden.|2009-2010||||x|x|x|||||||||x||x|x|x||||||||
Drucker API|Ansteuern eines seriellen Druckers über eine vorgegeben proprietäre API, die weder syntaktisch noch logisch kompatible ist.
- automatische Zeichensatz Konvertierung.
- Unterschiedliche asynchrone Abläufe durch Hintergrund-Threads anpassen.
- Zusätzliches Puffermanagement.|2008||x||||||||||||x||||||x||x|||x||
Druckertreiber|Entwicklung von Hardware Treibern für Thermaldruckwerke.
- Ansteuerung von Druckwerken der Firmen Axiohm (THTE Familie) und Seiko Instruments Inc. (LTPZ245 Familie) bestehend aus Schrittmotor, Brennzeile und Thermalwiderstand.
- Ansteuerung über die interne Peripherie und Timer der ATMEL AT91 Mikrocontroller Familie.
- Integration in ein Echtzeit-Betriebssystem (Real-Time-OS) basierend auf NUCLEUS.
- Entwicklung des Treibers als Hintergrunddienst, sodass weitere Applikationen und Peripherie parallel zum Drucken ablaufen können.|2007- 2010||x||||||||||||x||||||||x|x||x||x
Fehleranalyse: Abrechnungssystem Ärztliche Dienstleistungen|In einem Abrechnungssystem für ärztlichen Dienstleistungen eines anderen Softwareentwicklers wurden Mehrwertsteuerbeträge gelegentlich falsch ausgewiesen.
- Analyse des unbekannten Systems.
- Feststellung eines prinzipiellen Fehlers in der Datenstruktur, der dazu führte, dass Summen über unterschiedliche Gruppierungen berechnet wurden und es dadurch zu Rundungsfehlern kam.
- Behebung des Fehlers durch Umstrukturierung der Datengruppen und Überarbeitung aller beteiligten Module.|2007|||||x|x|||||||||x||x||x||x||||||
Fehleranalyse: Kommunikationsfehler zur Peripherie|Während der Kommunikation eines Embedded Systems mit einer Peripherie kam es häufig zu Fehlverhalten. Von unserer Seite sollte die verwendete Kommunikationssoftware nach prinzipiellen Fehlern untersucht werden.
Das eingesetzte genormte Protokoll beinhaltete mehrere Fehlerkorrekturen und hat auf anderen Systemen noch nie zu ähnlichen Ausfällen geführt.
Nachdem die Codeanalyse keine Auffälligkeiten gezeigt hat, wurde der Ablauf über Laufzeitmessungen verifiziert.
Hiermit konnte bewiesen werden, dass sowohl die protokollinternen Fehlerkorrekturen einwandfrei funktionieren, als auch, dass der intendierte Ablauf nur in der gewünschten Form erfolgt sein konnte.
(Es war eher Zufall, dass bei den Messungen eine plötzliche Spannungsumschaltung auf den Datenleitungen gefunden wurde, die auf einen Hardwarefehler zurückführte).|2008|x|x||||||||||||x|||||||x|x|x||||
Forschungsgelder Auswertung|Verschiedene Auswertungen / Berichte für eine Forschungsverwaltung.
- Parametrisierte Berichte.
- Auswertungen über 10-20 Tabellen pro Bericht.
- Verknüpfungen der Tabellen über bis zu 6 Spalten, abhängig von Benutzerparametern.|1996-1997|||||x|x|||||||||x||x||x||||||||x
Geschützte Mitgliederbereiche|Verschiedene zugangsgeschützte Bereiche in Webpräsenzen.
- Automatische Erteilung der Zugangsberechtigung: Benutzer aus einem bestehenden Adresspool können sich selbst ein Passwort anfordern. Dieses wird vom System generiert und verwaltet.
- Manuelle Erteilung der Zugangsberechtigung: Über eine Verwaltungssoftware wird ein Benutzer angelegt und ein generiertes Passwort versandt.
- Verschiedene dedizierte Datenbankzugriffe im geschützten Bereich (suchen, anlegen, ändern von Daten, abhängig von verschiedenen Rechten).||||||x||x|x|x|||||||x|x|x|||||||||
Internet Präsenz (PHP)|Individueller Internet Auftritt über flexible Seiten in HTML / CSS, JavaScript und PHP.
- Mehrstufige Menüs.
- Geschützte Bereiche.
- Teilweise vom Kunden selbstständig editierbar (eigenes Content Management System).
- Umfangreiche Datenbankzugriffe für Website-Besucher.
- Synchronisierung der Internet Datenbank mit den hausinternen Stammdaten.
- Download Bereich.
- Sitemap, Impressum, ….||||||x||x|x|x|||||||x|x|x|||||||x||
Internet Präsenz (Ruby on Rails)|Weiterentwicklung und Pflege eines Online Spiele Portals auf Basis von Ruby on Rails.|2009-2010|||||x||x||x|||x||||x||x|||x||||||x
Magnetstreifen Leser|Entwicklung eines Treibers für Magnetstreifenkartenleser.
- Hardware-Leser verschiedener Hersteller.
- Signalaufnahme über ATMEL AT91 Peripherie.
- Entwicklung des Treibers als Hintergrunddienst, sodass weitere Applikationen und Peripherie parallel ablaufen können.
- Verifikation und Transformation der Daten. Wenn ein ISO - konformer Datensatz erfasst werden konnte, wird dieser anschließend extrahiert. Dies ist unabhängig von der Durchzugsrichtung und gilt auch, wenn bei einem Hybridleser die Karte kurz eingesteckt und wieder herausgezogen wurde.|2005||x||||||||||||x||||||||x|x||x||x
Multiplayer Lobby|Client eines Multiplayer Spiele Portals als komplexer Teil einer Web-Präsenz.
- Die gesamte Oberfläche ist in HTML / CSS und JavaScript gehalten.
- Die Echtzeitkommunikation zum Server erfolgt über ein externes Flash – Applet.
- Public- und Private – Chat.
- Dynamische Aktualisierungen in Echtzeit.
- Vielfache Parametrisierungen über eine Datenbank (Content Management).
- Multilingual mit Ruby on Rails Übersetzungsfile (YML).|2009-2010|||||||x||x|||x||||x||x|||||||||x
Multithreading Interfaces|Verschiedene multithreading Abstraktionsschichten für Kommunikationsmodule.
Die meisten Kommunikationsprotokolle müssen in verschiedenen OSI Schichten bestimmte Timings einhalten, gleichzeitig darf aber kein Treiber das Gesamtsystem blockieren.
Hierfür wurden für verschiedene Hardwarekomponenten multithreading APIs entwickelt, die IRQ und DMA / FIFO gesteuert, die unterste Kommunikation abhandeln. Diese APIs können dann von höheren Protokollschichten „bedenkenlos“ verwendet werden.
- Multithreading Interface für einen ISDN Stack.
- Multithreading Interface für einen X25 Stack.
- Multithreading Interface mit Ringpuffer für die Kommunikation über serielle Schnittstellen.
- Multithreading Interfaces für verschiedene Highlevel Protokolle mit Fehlerkorrektur.
- Vollständiger multithreading Treiber für Chipkartenleser.
- Vollständiger multithreading Treiber für Magnetstreifenkartenleser.
- Vollständiger multithreading Treiber für Druckwerkansteuerungen.
- Vollständiger multithreading Treiber für I²C Kommunikation.|2002-2010|x|x||||||||||||x||||||||x|x||x||x
Online PDF Generierung|Dedizierte Datenbankinhalte können als aktuelle Liste im PDF Format abgerufen werden.||||||x|||x||||||||x|x||x||||||||
Online Spieler Verwaltung|Auf Basis von SmartFoxServer 2X wurde ein Framework für Spiele entwickelt, welches unterschiedliche Spiele über eine gemeinsame Schnittstelle abrechnet (über eine externe API).
- Alle multithreading Problemstellungen werden von dem Framework aufgelöst, sodass die Spielentwickler immer von einem sequentiellen singlethread Programmablauf ausgehen können.
- Der Datenfluss wurde für Volumen und Laufzeit optimiert.
- Aktive Spiele werden von Threadpools bedient, sodass über 1000 Multiplayerspiele ohne Performance Einbußen parallel auf dem gleichen Server laufen.
- Nachrichten können automatisch verschlüsselt zwischen Cients und Server übermittelt werden.
- Alle Buchungen, Abbrüche und Rückbuchungen werden vom Framework ausgelöst und sind vom jeweiligen Spiel unabhängig.
- Für Multiplayerspiele wird die gewünschte Anzahl Spieler gruppiert, bevor das eigentliche Spiel gestartet wird.
- Einzelspieler werden zeitunabhängig zu Spielrunden gruppiert.|2009-2010||||||||||x||||||x||||||x|||x||x
Online Testbots|Automatische Test (ro)bots zum Simulieren von vielen gleichzeitigen Online Benutzern.
- Auf Basis der SFS_Java_Client_API.
- Highlevel API des übergeordneten Backend.
- Der individuelle Testablauf wird in Python (Jython) Scripten geschrieben.|2009-2010||||||||||x|x|||||x|||||||||x||x
PC <=> Embedded Systems|Entwicklung verschiedener Werkzeuge zur Kommunikation zwischen PCs und Embedded Systems.
- Softwareupdate.
- Traceing.
- Steuerung.
- Konfiguration.
- Verschiedene proprietäre Protokolle über die serielle Schnittstelle.
- Verschiedene proprietäre Protokolle über USB.
- Verschiedene Microsoft Windows Betriebssysteme.
- Verschiedenen Linux Betriebssysteme.|2001-2010||x||||||||||||x|x|||x||||x|x||||
Projektmanagement System|Projektmanagement / Projektverfolgung.
Wir haben die Client-Seite eines Projektmanagementsystems mit höchsten Sicherheitsanforderungen entwickelt.
- Protokollierte Erfassung der Planungsdaten.
- Protokollierte Weiterleitung von Änderungen, inkl. „Gegenzeichnen“.
- Mehrere Hierarchien an Benutzerrechten und Nachrichtenempfängern.
- Verschiedene parametrisierte Berichte über den Verlauf, bzw. Ist-Stand.
- Anbindung an eine Stundenerfassung.
- Verschiedene parametrisierte Berichte für die Gegenüberstellung Ist-Stand <=> Soll-Stand.|1996-1997|||||x|x|||||||||x||x|x|x||||||||x
Projektstundenverwaltung|Stundenerfassung mit Zuordnung zu Projektnummern
- Mitarbeiterindividuelle Projekt-Favoriten aus einem großen Nummernkreis.
- Automatische Tages- / Monats „Soll“ + „Ist“ Summenanzeige.
- Benutzerdefinierbare hierarchische Gruppierung von Projektnummern, bzw. zugeordneten Projekt-Eigenschaften und Mitarbeitergruppen.
- Verschiedene Auswertungen / Berichte über die definierten Gruppierungen.|2006-2010|||||x|x|||||||||x||x|x|x||||||||
Prozessdaten Feldbus|Verwaltungswerkzeug für die Prozessdaten eines Feldbussystems.
- Tabellarische Bearbeitung.
- Kaskadierende Überprüfung von Abhängigkeiten während der Eingabe.
- Farbiges Hervorheben von Fehlern.
- Benutzerdefinierbare Ansichten.
- Komplexe Suchfunktionen.|1998||x|||||||||||||x|||x|||||||||x
Prozessor Cache|Analyse eines Embeded Mikrocontroller Systems auf die Verwendbarkeit von Instruction- und Data-Caches. Aktivierung der Caches und Modifikation des Betriebssystems, so dass alle bestehenden Anwendungen weiterhin stabil ausgeführt werden.|2007|x|x||||||||||||x|||||||||||x||x
Synchronisierung getrennter Datenbanken|Für den öffentlichen Bereich in einer Web-Präsenz wird eine MySQL-Datenbank mit einigen Zusammenfassungen der Kerndaten verwendet.
- Die vollständigen Kerndaten werden nur „in-Haus“ in einer gesicherten SQL-Server Datenbank verwaltet.
- Das Update der Internetdatenbank erfolgt automatisch in regelmäßigen Abständen.
- Änderungsanforderungen von Kunden in der Internetdatenbank werden über ein Abgleichungsprogramm in die wesentlich komplexere Datenstruktur der Kerndaten konvertiert und müssen manuell bestätigt werden.|||||x|x|||x|||||||x|x|x|||x||x|||||
UNIX Protokoll -> Windows|Portierung eines Kommunikationsprogramms von UNIX nach Windows.
- Unix Demons -> Windows Services.
- Unix Signals -> Windows Events.
- Mehrere simultane Clientanwendungen (Multiprocessing).
- Named Pipes + proprietäre Interprozesskommunikation.
- Auf Basis des TCP/IP Protokolls.|1999||x|||||||||||||x|||||x||x|||x||x
Kundenspezifische Verwaltungssoftware|Verschiedene kundenspezifische Programme zur Verwaltung und Abrechnung von immateriellen Gütern.
- Kundenverwaltung.
- Stammdatenverwaltung der komplexen Güter.
- Benutzerdefinierte Gruppierungen der Güter für Rechnungen.
- Ausschüttungen an die Besitzer der Güter.
- Komplexes Steuerungsmodul für anwenderspezifische Abrechnungsregeln.
- Export zur FIBU.
- Detailliertes Berichtswesen.
- Verschiedene Import-/Export Schnittstellen.
- Zuletzt aktualisiert auf MS SQL Server 2008 R2.
- Kundentreue Wartung, Pflege und Weiterentwicklung seit über 12 Jahren.|seit 1999|||x|x|x||||||||||x||x|x|x||||||||x
Medizinische Bildanalyse|Verschiedene Programme zur automatischen 3D-Segmentierung ('Erkennung') von anatomischen Bereichen aus computertomograpischen Aufnahmen.
- Einbeziehung von Anatomie zusätzlich zu den Bildinformationen.
- Normale (gesunde) und leicht krankhaft veränderte Anatomien.
- Auf Basis der Frameworks ITK, VTK und FLTK.
- Cross-Plattform Entwicklung auf Windows und Linux über CMake.|2008-2011||x|||||||||||||x|||||||||x|x||x
Foto zu Video|Eine
iPhone App welche ein Kameraflug-Video aus ein bis 2 Fotos berechnet.
- Aus Kameraparametern und einer Zielmarkierung wird ein interner 3D Raum erstellt.
- Über verschiedene Zeitfunktionen wird ein 4D Raum aufgespannt.
- Mittels
OpenGL werden aus diesem 4D Raum die einzelnen Frames abgerufen und als ein Video gespeichert.
- Verschiedene Komprimierungen mittels
H264.
- Bildanalyse und
zeitlich dynamischer Abgleich von Helligkeit und Sättigung.
- Erkennung von ähnlichen Objekten (
LAB- Farbraum) und entsprechend frühes Einblenden während der Flugphase.
- E-Mail Export, Speichern im Fotoarchiv.
- Komplexe Benutzerschnittstellen, inkl.
Multitouch-GestureRecognizer,
Accelerometer.
-
|2011-2012||x|||||||||||x|||||x||||||x|x|x|x