Folgende Projekte habe ich zum Erfolg gebracht. Verschaffen Sie sich gerne einen Überblick über meine Erfahrungen.

Kontaktieren Sie mich gerne. Lassen Sie uns darüber sprechen, wie ich auch Sie maßgeschneidert unterstützen kann.

Konzeption und Entwicklung | 2021 / 2022 | 6 Monate | Freiberuflich

(...in Arbeit...) Mobile, Server, PC und Embedded Unscented Kalman filter TODO

TODO

Aufgaben: Konzeption, Beratung und Entwicklung

Technologien: nordic nRF52833, Bosch BNO08X, Infineon DPS310, Bluetooth Low Energy, Zepyhr, McuBoot, C, C++, Segger J-Link, Python 3.9, ionic 6, Vue 3, Java, Django, Linux, Windows, PySide6

Konzeption und Entwicklung | 2021 | 1 Monat | Freiberuflich

(...in Arbeit...)

TODO

Aufgaben: Konzeption, Beratung und Entwicklung

Technologien: Python, Selenium, xPath, BeautifulSoup, requests

Konzeption und Entwicklung | 2021 | 2 Monate | Freiberuflich

(...in Arbeit...)

TODO: Verschlüsselung von Skript-Code, Erzeugung und Nutzung von Lizenzschlüsseln, Bindung an Hardware, verschiedene Mechanismen gegen Reverse Engineering und Piraterie

Aufgaben: Konzeption, Beratung und Entwicklung

Technologien: (geheim)

Konzeption und Entwicklung | 2021 | 1 Monat | Freiberuflich

(...in Arbeit...)

TODO: System tray, Erinnerung, Snooze, Admin, User

Aufgaben: Konzeption, Beratung und Entwicklung

Technologien: Python 3, PySide2

Konzeption und Entwicklung | 2020 / 2021 | 4 Monate | Freiberuflich

Design und Entwicklung von Algorithmen zur optimierten Ansteuerung der Antriebe von Transmissionselektronenmikroskopen.

Entwicklung eines virtuellen Mikroskopes in seinen wesentlichen Bestandteilen. Dreidimensionale Visualisierung der Mechanik des Probenhalters. Design einer ansprechenden und bequem zu bedienenden graphischen Benutzerschnittstelle.

Beratung in den Bereichen Software Design, Testing und Simulation.

Aufgaben: Beratung und Entwicklung

Technologien: Python 3.5, PySide2, Qt3D, OpenCv, Numpy, HTTP, JSON

Analyse, Schulung, Beratung, Entwicklung | 2020 | 5 Monate | Freiberuflich

Hochwertige und massiv parallel arbeitende Testautomaten werden für den zuverlässigen Test großer Mengen von elektronischen Chips im industriellen Umfeld eingesetzt. Software, die zur Ansteuerung derselben notwendig ist, kann in Teilen wiederverwendet werden. Entsprechend wird eine Software-Plattform entwickelt.

Anforderungen werden mit den Domänenexperten ermittelt. Die Software wird in wiederverwendbarer Art und Weise implementiert.

Beratung in allen relevanten Bereichen des Software Engineering. Etablierung bewährter Methoden des Requirement Engineering und Testing. Durchführen von Code Reviews. Beratung in Design- und Architektur-Fragen. Verbesserung des Entwicklungsprozesses. Qualitätssteigerung im Code.

Aufgaben: Analyse, Schulung, Beratung, Entwicklung, Test

Technologien: Red Hat Linux, pthreads, C++, GIT, Bitbucket, Jira, Confluence

Konzeption und Entwicklung | 2019 | 3 Monate | Freiberuflich

Erstellung einer Editiersoftware für Foto- und Video-Medien. Diese erlaubt das Extrahieren und Übertragen des künstlerischen Stiles. Künstliche Intelligenz in Form mehrerer Faltungsnetzwerke wird eingesetzt.

Misch- und Überblend-Effekte auch mehrerer Stile anhand der Maskierung von Objekten bezogen auf ihre Bewegung und Farbe. Desweiteren Maskierung über ein neuronales Netz des Typs Mask-R-CNN.

Trainieren der Netzwerke auf GPUs zur Geschwindigkeitssteigerung. Auswerten der Netzwerke auf CPU oder GPU.

Aufgaben: Entwicklung

Technologien: Python 3.7, PyTorch, OpenCV, numpy, PySide2, Cuda, nVidia GPU

Entwicklung und Beratung | 2019 | 3 Monate | Freiberuflich

Ein namhafter Halbleiterhersteller möchte aufwendige Testreihen in automatisierter Art und Weise durchführen. Dadurch werden diese Testreihen in ihrem Umfang und in ihrer Reproduzierbarkeit erst möglich.

Verschiedene Messgeräte (Oszilloskope, digitale Multimeter, Spannungsversorgungen und Signalgeneratoren) werden dazu über USB und Ethernet an einen zentralen Steuerungs-PC angekoppelt und über VISA / SCPI angesteuert.

Softwareseitig werden Abstraktionen sowohl für die Ansteuerung der Messgeräte als auch für das einfache deklarative Beschreiben der Ein- und Ausgaben des Tests sowie des Testablaufes geschaffen.

Das Entwerfen neuer Tests wird so mit minimalem Aufwand möglich. Bequem und teil-interaktiv kann der Tester nun hundertfach Testvarianten überprüfen lassen.

Aufgaben: Entwicklung und Beratung

Technologien: Python 3.6, VISA, SCPI, numpy, scipy, matplotlib, Jinja

Konzeption und Umsetzung | 2018 | 3 Monate | Freiberuflich

Die Benutzerschnittstelle und Kommunikationskanäle einer Maschinensteuerung werden mit modernen Technologien neu gestaltet.

Die Kommunikation erfolgt über ein Microframework auf Webserverbasis. Die Oberfläche stellt sich als Single-Page-Webanwendung dar. MVVM und REST werden als Designmuster angewandt.

Das Betriebssystem wird so erweitert, dass die Maschine als Auto-Hotspot ein WLAN aufbaut. So können beliebige WIFI-Bediengeräte für die Steuerung angekoppelt und genutzt werden.

Aufgaben: Konzeption und Umsetzung

Technologien: Node.js, Vue.js, Axios, Bootstrap, Python, Flask, Werkzeug, Linux Netzwerk

Konzeption und Umsetzung | 2018 | 1 Monat | Freiberuflich

Ein Prototyp für ein optisches Verfolgungssystem wird konzipiert und implementiert. Handelsübliche und hochwertige Optiken eines namhaften Herstellers von digitalen Spiegel-Reflex-Kameras werden adaptiert und sowohl mechanisch als auch elektronisch in das System integriert.

Die Bedienung erfolgt über einen Touchscreen oder aber über einen Webserver. Schrittmotoren werden für die Bewegung des 2-Achsen-Systems eingesetzt.

Aufgaben: Konzeption, System- und SW-Architektur, Bau eines Prototyps

Technologien: Raspberry Pi, Arduino Nano, Design Spark Mechanical, 3D-Druck

Technisches Coaching | 2018 | 3 Monate | Freiberuflich

Ein Weltkonzern aus dem Automobilbereich entwickelt ein innovatives System für das autonome Fahren. Elemente der Robotik, des Machine Learning und der Multi-Sensor-Fusion werden hierfür zu einem seriereifen Produkt vereint.

Prototypische Artefakte aus dem Forschungsumfeld, die zu einem großen Teil in Python entwickelt wurden, überführt man auf die native Zielplattform. Service oriented architecture und RESTful communication im Rahmen von Adaptive Autosar bilden dabei das Grundgerüst.

Kennzeichnend ist die Verarbeitung von Daten im Peta-Byte-Bereich sowie die Konsolidierung von Daten aus unterschiedlichsten Quellen.

Mehrere Scrum Teams, die selbst-organisierend an Features hoher Granularität arbeiten, werden in allen relevanten technischen Bereichen gecoacht.

Aufgaben: Scrum/LeSS, (A-)TDD, Clean Code, Clean Architecture, Design Patterns

Technologien: C++14, Python, ROS, CMake, Clion, Fitnesse, Google Test, Google Mock, Adaptive AutoSar, Misra, Boost, Git, Ansible, Docker, Linux

Beratung, Architektur und Entwicklung | 2017 | 2 Monate | Freiberuflich

Eine bestehende C++-Code-Basis wird in Python gewrappt und um neue Merkmale erweitert. Damit wird sie leicht im umgebenden Python Ökosystem nutzbar.

Umsetzung einer proprietären nativen Persistenzschicht. Integration in eine Webservices-Umgebung.

Aufgaben: Beratung, Entwicklung, Schulung

Technologien: Python 3.6, Django + REST framework, requests, C++14, Cereal, PyBind11

Portierung | 2017 | 4 Monate | Freiberuflich

Eine komplexe Client-Server-Applikation wird modernisiert. Ausreichende Testabdeckung wird sichergestellt, um die Qualität zu wahren.

Teilautomatische Übersetzung der Client-Teile mit 2to3 und mit 4to5 wird angewandt. Auf der Server-Seite wird das Linux-Betriebssystem ebenso aktualisiert wie der Stack bestehend aus Apache, Python und Django.

Aufgaben: Portierung

Technologien: Microsoft Visual Studio 2008 / 2015, C++ 99 / 14, Python 2.7 / 3.6, PySide 1 / 2

Konzeption und Umsetzung | 2017 | 4 Monate | Freiberuflich

Dynamisch sich bewegende Objekte werden mittels Video-Aufzeichnung und geeigneten Bildverarbeitungs-Algorithmen erkannt und danach in ihrer Bewegung verfolgt. Die dadurch ermittelten Trajektorien werden dreidimensional dargestellt.

Single Board Computer, CPU: Broadcom BCM2835, Windows PC

Aufgaben: Konzeption und Umsetzung

Technologien: Raspberry Pi, Kamera, OpenCV, C++, Python, OpenGL, PySide

Technische Beratung | 2017 | 3 Tage | Freiberuflich

Im Bereich des end-to-end Tests für moderne Web basierte Single Page Applications sucht der Kunde nach Lösungen für das effiziente automatische Testen.

Der Ist-Zustand wird im Nutzungskontext analysiert. Möglichkeiten und Grenzen der Abstraktion werden aufgezeigt. Ein einfacher Prototyp wird erstellt.

Eine Vorgehensempfehlung wird ausgesprochen und mit einer Aufwandschätzung versehen.

Aufgaben: Ist-Analyse, Technologie-Evaluation, Konzept-Erarbeitung, Vorgehens-Empfehlung, Aufwand-Schätzung

Technologien: Python, Selenium, PyTractor, Eclipse, AngularJS, GIT

Konzeption und Umsetzung | 2016 | 8 Monate | Freiberuflich

Ein Trainingsgerät für den Sportbereich wird neu konzipiert. Außerdem wird ein Prototyp desselben implementiert. Mechanik und Elektrik werden robust, langlebig und minimalistisch gehalten. Besonderes Augenmerk wird auf zeitgemässe Bedien- und Software-Schnittstellen gelegt. Als charakteristisches Merkmal ist die dynamische und flexibele Konfigurierbarkeit hervorzuheben. Die Bedienung erfolgt wahlweise über Bluetooth und Android oder über eine Web-Schnittstelle.

3 BLDC-Motoren werden von einem PWM-gesteuerten Treiber versorgt. 2 Servos erhalten ebenfalls PWM-Signale und dienen der Positionierung. 1 Schrittmotor wird von einem über I2C angesteuerten Treiber versorgt und dient der Förderung.

Aufgaben: Konzeption, System- und SW-Architektur, Bau eines Prototyps

Technologien: ARM STM32F4, ATMEGA328P, Design Spark Mechanical

Beratung, Modell Technologie | 2015 | 1 Monat | Freiberuflich

Im Automobilumfeld werden zur Qualitätsverbesserung in einem ASPICE-Prozess sowohl Maßnahmen als auch Werkzeuge auf den Prüfstand gestellt. Die Nachverfolgbarkeit und die Zusammenhänge der Artefakte einer exemplarischen Produktentwicklung sollen besonders herausgearbeitet werden.

Dazu wird eine System Architektur in SysML entworfen und verbessert. Darauf aufsetzend wird eine SW Architektur in UML erstellt. Traceability wird jeweils hergestellt zu Requirement- und Test-Artefakten.

Aufgaben: Analyse, Beratung, System- und SW-Architektur, Tooling

Technologien: IBM Rhapsody mit SysML und UML, PTC IMS (CM+SI) bzw. Reqtify / Doors

Konzeption und Umsetzung | 2014-2015 | 1 Jahr | Freelance

Ein Software Hersteller vertreibt seine Produkte über ein Portal. Die Abwicklung aller kundenrelevanten Aktivitäten wie Registrierung, Bestellung, Linzensierung, Software-Download und Wartung wird unterstützt.

Gewählt wird eine Client-/Server-Lösung mit einem cloud-basierten Module-Store.

Aufgaben: Konzeption und Umsetzung in einem agilen Entwicklungs-Team.

Technologien: Python, HTML, Jinja, Javascript, Django + REST, Linux

Innovation, Modell Technologie | 2012-2014 | 2 Jahre | Freelance

Konzeption und Erstellung einer Meta-Modell-Umgebung. Der Fokus wird auf Grafik, Skriptbarkeit und Erweiterbarkeit gerichtet. Es wird Modell-zu-Modell- und Modell-zu-Text-Transformation unterstützt. Modelle können direkt in der Entwicklungsumgebung ausgeführt und überwacht werden.

Hauptbestandteil ist ein validierender Mehr-Phasen-Modell-Compiler. Die Kernbestandteile werden - basierend auf OMG CMOF - in C++ erstellt. Damit wird gute Performanz auch bei großen Modellen erreicht.

Flexible und dynamische Handhabung wird durch den Einsatz von Skripttechnologie erreicht. Dies eröffnet auch den Zugriff auf einen riesigen Bereich an bestehenden Bibliotheken und Hilfsmodulen sowie die Adaption an verschiedenste andere Werkzeuge, beispielsweise über COM-Technologie. Bequeme Code-Erzeugung wird durch eine Template-Sprache ermöglicht.

Unterstützung für Merge- und Import-Operationen führt zu umfangreichem Reuse bestehender Modelle. Feingliedrige Lizenzierung erlaubt freie Gestaltung bezüglich der Produktpalette.

Aufgaben: Konzeption, Projektleitung, Entwicklungsleitung und Umsetzung in einem agil arbeitenden Team.

Technologien: Python, C++, Jinja, BOOST, QT + PySide, Windows, OMG CMOF

Konzept, Entwicklung | 2013 | 2 Monate | Freiberuflich

Der Betreiber eines Webshops möchte die Daten des Portals mit den Werkzeugen des Backoffice automatisiert verknüpfen.

Dazu wird ein REST-Adapter für das Portal entwickelt. Dieser kommuniziert dann auf der Backoffice-Seite mittels MS COM und anderen Technologien mit den Werkzeugen.

Aufgaben: Konzeption und Umsetzung

Technologien: Python, Django + REST framework, MS COM

Konzept und Umsetzung | 2012 | 2 Monate | Freiberuflich

Ein Finanzdienstleister bietet für sein Online Geschäft die Erzeugung von Berichten an. Quelle sind dabei Transaktionsvermerke aus Datenbanken.

Konfigurierbare Mustervorlagen erlauben eine flexible und maßgeschneiderte Dokumenterzeugung. Verschiedene Ausgabeformate wie PDF, HTML, CSV und XML werden unterstützt.

Aufgaben: Konzept und Umsetzung

Technologien: Python, ReportLab, Django

Technische Projektleitung | 2011 | 1 Jahr | SWE Berater

Für Trocknungswagen entwickelt ein weltweit tätiger Hersteller eine neue Generation der Steuerungs- und der Bedienungssoftware. Ein Entwicklungsteam mit 20 Mitgliedern stellt sich der Herausforderung, innovative Funktionalität mit modernen Entwicklungsmethoden und agilem Entwicklungsprozess umzusetzen.

Aufgaben: Technische Projektleitung für das Entwicklungsteam, Ermittlung und Abdeckung des Schulungsbedarfs. Das Team entwickelt Kernbestandteile des Softwaresystems, trifft Maßnahmen zur Sicherstellung der Qualität und setzt diese um. Die Zusammenarbeit im Team wird optimiert.

Technologien: ARM 9, IBM Rhapsody, C++, BOOST, QT, USB, SqLite.

Beratung, Schulung | 2010 | 3 Wochen | SWE Berater

Moderne Mikropumpen bedürfen der Ansteuerung durch Software, die auf einem deterministischen Echtzeitbetriebsystem aufsetzt. Der Kunde benötigt Unterstützung zur Auswahl eines solchen Betriebsystems und eine Einführung in das Erstellen einer geeigneten Software-Architektur.

Aufgaben: Ermittlung der Anforderungen. Einführung in Echtzeitbetriebsysteme und Software-Architektur. Suche nach geeigneten Betriebsystemen und jeweilige Charakterisierung. Präsentation und Empfehlung an den Kunden.

Technologien:

Beratung | 2010 | 1 Woche | SWE Berater

Auch für bahntechnische Anwendungen steigt die Nachfrage nach moderneren Entwicklungsmethoden und -werkzeugen. Herausfordernd ist dabei die gleichzeitige Einhaltung branchentypischer Regulatorien.

Aufgaben: Bewertung des Werkzeugeinsatzes und des Entwicklungsprozesses unter Berücksichtigung der bahntechnischen Normen. Präsentation der Empfehlung für das weitere Vorgehen.

Technologien: IBM Rhapsody

Strategie Beratung | 2010 | 3 Wochen | SWE Berater

Elektrische Gleichrichter-Anlagen für Mobilfunknetze werden künftig verstärkt auch im aussereuropäischen Markt eingesetzt. Entsprechend steigen die Anforderungen an die Agilität der Softwareentwicklung drastisch. Ein Workshop zusammen mit dem Kunden soll dabei helfen, das Potenzial dafür aufzudecken und zu evaluieren.

Aufgaben: Analyse der Architektur. Ermittlung technischer Schwachpunkte und Potenziale. Sammlung geeigneter Technologien zur strategischen Verbesserung des Software-Systems. Durchführung und Moderation eines Evaluationsworkshops.

Technologien:

Usability Engineering | 2010 | 6 Wochen | SWE Berater

Moderne Beschichtungsanlagen für metallische Werkstücke stellen vielfältige Anforderungen an die Usability der Bedienungssoftware. Gleichzeitig steigt der Kostendruck. Es sollen daher Verbesserungs- und auch Einspar-Potentiale aufgedeckt werden.

Aufgaben: Die Analyse von Handbüchern und Sichtung der Anlagen vor Ort helfen, die wichtigsten Anforderungen an entsprechende Softwaresysteme zu ermitteln. Aus Interviews direkt am Einsatzort ergeben sich zudem benutzertypische Anforderungen. Ein Use Case Modell wird erstellt, um die funktionalen Anforderungen zu manifestieren. Mehrere Contextual Inquiries legen die spezifischen Anforderungen verschiedener Nutzer offen. David Venditti zeigt in einer Präsentation die Potenziale und gibt den Entscheidungsträgern eine Empfehlung.

Technologien: Contextual Inquiry

Expertise | 2010 | 3 Wochen | SWE Berater

Für Frequenz-Umrichter wird Software benötigt, die sehr hohe Anforderungen bezüglich des zeitlichen Determinismus erfüllen muss. Der Hersteller eines solchen Systems stellt in seiner Software eine auffallend hohe Prozessor-Auslastung fest. Dies wird als potentielles Risiko angesehen.

David Venditti analysiert daher die Softwarearchitektur und setzt ein mathematisches Modell zur Bewertung der Schedulability ein. Die Entscheidungsträger erhalten eine Bewertung des Systemzustandes und eine Empfehlung für das weitere Vorgehen.

Aufgaben: Analyse der Software-Architektur. Durchführung einer Rate Monotonic Analysis. Befähigung des Kunden, solche Analysen künftig selbst durchzuführen. Präsentation der Vorgehensempfehlung.

Technologien: Rate Monotonic Analysis

Teamaufbau, Architektur, Projektleitung | 2008 | 2 Jahre | SW architect

David Venditti übernimmt einen innovativen Ansatz zur Gebäude-Automation und entwickelt diesen zu einer tragfähigen, erweiterbaren Lösung weiter. Dabei wird besonderer Wert auf eine offene Architektur gelegt, die eine einfache und flexible Integration verschiedenster Geräte und Feldprotokolle sicherstellt.

Ergänzend zum Kernprodukt wird eine maßgeschneiderte Test- und Simulationsinfrastruktur entwickelt, mit der sich die Qualität der Software kontinuierlich sicherstellen lässt. Zudem unterstützt dies die Konfiguration und Inbetriebnahme von Produkten vor der Auslieferung an die Kunden.

Aufgaben: Analyse des bestehenden Konzeptes und der Prototypen-Implementierung. Anschliessend Definition und Umsetzung der Architektur, Aufbau und Projektleitung eines vierköpfigen Entwicklerteams.

Technologien: Embedded Linux, Eclipse, Java, JamVM, openArchitectureWare.

Beratung, Entwicklung | 2007 | 6 Monate | SW Architekt

Der Kunde ist ein weltweit tätiger Hersteller, der die Qualität der Software seiner Liftanlagen verbessern will. Gleichzeitig soll der Aufwand für manuelle Tests reduziert und damit die Release-Zyklen deutlich verkürzt werden. Nach einer Analyse des bisherigen Vorgehens bei Entwicklung und Test werden Vorschläge zum Testen auf Unit-, Komponenten- und Systemebene erarbeitet und diskutiert.

Das entwicklungsbegleitende Testen soll fortan im Fokus stehen. Ein erster Aufbau für den automatischen Test einer Anlagen-Komponente wird implementiert und in Betrieb genommen.

Aufgaben: Analyse des Entwicklungs- und Testvorgehens. Erarbeitung von Verbesserungsvorschlägen. Beratung der Test- und Qualitätsleitung. Implementierung eines ersten automatisierten Komponententests.

Technologien: Microsoft Windows, Infragistics Komponenten, Interface-Hardware von National Instruments, CAN Interface-Hardware von Vector. Entwicklungsumge-bung: Microsoft Visual Studio. Sprachen: C#.

Ausbildung, Architektur | 2006 | 1 Jahr | SW Architekt

Der Kunde ist ein führender Hersteller von Hörgeräten, der innovatives Zubehör für seine Produkte entwickelt. Mit dem bisherigen Entwicklungsvorgehen wird die geforderte Qualität nicht erreicht. Die Transparenz in der Software fehlt - Änderungen und Fehlerkorrekturen sind sehr aufwändig.

Schrittweise wird die bestehende Software in ein UML-Modellierungs-Werkzeug eingepflegt und aus demselben Werkzeug generiert. Design und Verhalten der Software werden so sichtbar. Das Entwicklungsteam wird in die Lage versetzt, Änderungen schnell durchzuführen und die bestehenden Fehler rasch zu beseitigen.

Aufgaben: Einführen von Telelogic Rhapsody, Schulung in UML, Testbare Adaption der generierten Software via USB an einen C#-Client.

Technologien: ARM9, Nucleus, Microsoft Windows, UML mit Rhapsody. Entwicklungsumgebung: Microsoft Visual Studio, Mentor Graphics Edge. Sprachen: C, C++, C#.

Gruppenleitung, Architektur, Projektleitung | 2005 | 1 Jahr | SW Architekt

Der Kunde ist ein führender Hersteller von Hörgeräten und Zubehör. Er löst ein vorhandenes Gerät durch ein neues ab. Dies ist nur möglich mit neuen Werkzeugen und Prozessen für die Software-Entwicklung.

Zum Projekt gehören die Unterstützung der Projektleitung, die Planung der Tätigkeiten und die Entwicklungsarbeiten in enger Zusammenarbeit mit dem Kundenteam. Die umfangreiche maßgeschneiderte Test-Infrastruktur wird konzipiert, implementiert und von den Entwicklern flexibel und erfolgreich eingesetzt. Die Spezialisten konzipieren ein Configuration Management und stellen ein automatisches Build-System bereit.

Aufgaben: Architektur, Unterstützung der Projektleitung, Testing und Configuration Management.

Technologien: ARM9, Sciopta RTOS, Microsoft Windows, UML mit Rhapsody. Entwicklungsumgebung: Microsoft Visual Studio, WinIDEA. Sprachen: C, C++, Python. Tools: CppUnit, Boost, GccXml, BuildBot, PEG.

Entwicklung | 2004 | 1 Jahr | SW Ingenieur

Ein namhafter Dienstanbieter im Telefonie-Umfeld erhält ein komplexes VoIP-basiertes Client-Server-System, das auf seine Wünsche zugeschnitten ist. Zusammen mit Dritt-Herstellern werden Hard- und Soft-Phones entwickelt und mit landestypischen Anforderungen auf der Server-Seite abgestimmt. Der Soft-Client kommuniziert über SOAP mit dem Application-Server.

Das Projektteam entwickelt dafür Macromedia-Flash-Plug-Ins und testet Sie systematisch mit Unit-Tests. Die Web-Service-Komponenten werden in Python eingebunden, um flexibel und skriptgesteuert mit den Servern kommunizieren zu können. Dieses Potential ist auch für Wartungs- und Monitoring-Aufgaben unter Linux nutzbar. Die Entwicklungsumgebung für die Übersetzung und grafische Anpassung einer Rezeptionisten-Applikation sowie eines Microsoft-Outlook-Plug-Ins wird weitgehend automatisiert.

Aufgaben: Unit-Testing, Performance-Optimierung, Automatisierung und Scripting

Technologien: Microsoft Windows, Red Hat Linux. Entwicklungsumgebung: Microsoft Visual Studio. Sprachen: C++, Python. Tools: CppUnit, Boost, gSoap.

Entwicklung, Schulung | 2003 | 6 Monate | SW Ingenieur

Für die Software einer Einbruch-Melde-Anlage neuester Generation wird eine zeitgemässe Entwicklungsumgebung erstellt. Zum Projekt gehören der Aufbau einer vollständigen und durchgängigen Toolchain von der Hardware bis zum UML-Tool, die Evaluation passender Hardware und die anschliessende Bereitstellung eines Linux-basierten Betriebssystems sowie die Adaption der Laufzeitumgebung des UML-Tools für Embedded Linux.

Ausserdem werden Plug-Ins für Eclipse und Rose RealTime entwickelt, um ein komfortables und durchgängiges Arbeiten mit integrierten Werkzeugen zu ermöglichen. Das Team arbeitet zeitgemäss mit UML sowie mit synchronisiertem Modell- und Code-basiertem Remote-Debugging und erstellt eine ausführliche, systematische Dokumentation.

Es erfolgt eine automatisierte Installation und Distribution der zahlreichen Toolchain-Bestandteile sowie die Implementation von anforderungsneutralen Framework-Komponenten und Test derselben mit modellierten Unit-Tests. Den Abschluss bilden die Schulung und ein umfangreicher Know-How-Transfer in den Bereichen Linux, Kernel Mode und RTAI.

Aufgaben: Coaching, Entwicklung der kompletten Tool-Chain.

Technologien: Rational Rose RealTime mit Connexis, eLinOs mit RTAI, Eclipse, Microsoft Visual Studio. Sprachen: C, C++, Perl, Java, Basic, bash.

Architektur, Schulung, Entwicklung | 2003 | 9 Monate | SW Ingenieur

Ein Hersteller von Steuersystemen im Schienenfahrzeugbereich benötigt für seine wachsende Produktpalette ein vielseitiges und effizientes Test- und Simulationswerkzeug. Eine generische Simulationssoftware kann projektspezifisch konfiguriert werden und erlaubt eine optimale Wiederverwendung.

Zu Beginn werden die Anforderungen in Form von Use Cases festgehalten und ein Iterations-Plan entworfen. Danach entsteht die Entwicklungsumgebung mit den Entwicklungsrichtlinien und der Architektur-Definition. Der Kunde erhält Unterstützung bei der Daten-Modellierung und dem GUI-Entwurf.

Für einen ersten konkreten Einsatzfall werden zudem umfangreiche Kommunikations-Komponenten für CAN und MVB implementiert. Parallel zur Entwicklung findet ein umfangreiches Coaching in objektorientierten Methoden, UML, C++ und XML statt.

Aufgaben: Architektur, Coaching, Entwicklung

Technologien: Rational Rose, MS Visual Studio und XML spy. Frameworks und Bibliotheken: MFC, Xerces. Hardware: CAN und MVB. Sprachen: C++, Python.

Architektur, Entwicklung | 2002 | 1 Jahr | SW Ingenieur

Analyse und anschliessende Neugestaltung der firmenweiten Prozesse im Zusammenhang mit Daten und Software für einen Nähmaschinenhersteller. Umsetzung universeller und zukunftssicherer Konzepte für Design, Verwaltung, Distribution und Verarbeitung von Näh-Designs. Modellierung und erfolgreiche Einführung eines portablen Realtime-Näh-Kernels und einer portablen Editier-Komponente.

Unterstützung für WYSIWYG unter Realtime-Bedingungen und für die verteilte Anwendung. Schaffen eines portablen Datenformats und zugehöriger Konvertier- und Editier-Tools. Werterhaltung durch Konvertierung und Weiterverwendung bestehender Stich-Designs. Konzeption einer Intranet-/Internet-Lösung zur firmeninternen und weltweiten Handhabung von Näh-Designs.

Aufgaben: Architektur, Coaching, Entwicklung

Technologien: Rhapsody, ThreadX, MS Visual Studio und XML spy. Frameworks und Bibliotheken: MFC, Twisted, Nevow, MySQL, Sablotron; Sprachen: C++, Python, XSLT.

Entwicklung | 2001 | 1 Jahr | SW Ingenieur

Für das innovative Spitzenmodell eines Nähmaschinenherstellers werden die Anforderungen für die Setup- und Service-Software erfasst. Anschliessend erfolgen Modellierung, Umsetzung und Test bis zur erfolgreichen Abnahme.

Des Weiteren wird im Rahmen einer Prozess-Analyse der Bedarf für den Produktionstest ermittelt. Ein Use-Case-Modell fixiert diesen Bedarf. Die geforderte Funktionalität wird umgesetzt und eingeführt, die maschinenübergreifende Steuerungslogik modelliert und umgesetzt. Vereinheitlichen der Datenverwaltung, zentrale Verwaltung mit XML, automatische Code-Generierung.

Aufgaben: Coaching, Entwicklung

Technologien: Windows CE, MS Visual Studio. Sprachen: C++ und Python.

Entwicklung | 1999 | 2 Jahre | SW Ingenieur

Analyse, Design und Implementierung der Neigetechnik für die modernen Neigezugflotten einiger europäischer Bahn-Betreiber. Erfassung und Aufbereitung von Sensordaten für die Streckenerfassung, Weiterverarbeitung zu Stellsignalen.

Zeitgenaue Verteilung derselben auf Zugebene sowie entsprechende Regelung der elektro-mechanischen Stellantriebe. Integration der Neigetechnik in die Kommunikations-Struktur der Fahrzeuge und Anbindung an das fahrzeuglokale Diagnosesystem.

Vielseitige Überwachungsmechanismen sichern die Einhaltung hoher Sicherheitsrichtlinien und Redundanzen auf Hardware- und auf Software-Ebene. Spezielle Werkzeuge dienen der Erfassung und Auswertung von Diagnosedaten, die im laufenden Betrieb erzeugt werden. Einsatz proprietärer Echtzeit-Betriebssysteme und Vernetzung der über den gesamten Zug verteilten Rechner mittels industrieller Bussysteme wie CAN oder MVB.

Aufgaben: Entwicklung

Technologien: Assembler und C.

Konzeption, Entwicklung | 1997 | 2 Jahre | SW Ingenieur

Dies ist ein vielseitiges Werkzeug für die Entwicklung und den Test der neigetechnischen Ausrüstung und deren Komponenten in Form einer Echtzeit-Simulation. Dem Anwender wird eine vollständige Interaktion mit dem komplexen System ermöglicht. Die direkte Integration des Applikations-Source-Codes der Neigerechner dient der bestmöglichen Abbildung des modellierten Systems in der Simulation.

Ein speziell entwickelter Code-Generator erzeugt automatisch den Source-Code, der zur Nachbildung der Kommunikation zwischen allen Komponenten in der Simulation notwendig ist.

Die Einsatzgebiete erstrecken sich von der Entwicklung über Inhouse- und Inbetriebsetzungs-Tests bis hin zu Abnahmetests beim Kunden. Kennzeichnend ist die hohe Testabdeckung auf System- und Komponentenebene zu einem frühen Projektzeitpunkt und die drastische Verkürzung teurer Test-Phasen auf der Strecke. Der Zugsimulator ist weitgehend modular aufgebaut, so dass projektspezifische Anpassungen problemlos möglich sind.

Aufgaben: Entwicklung, Simulation

Technologien: Zielplattformen Windows 9x und Windows NT. Entwicklungswerkzeuge Visual C++, Python und PCCTS.

Entwicklung | 1997 | 3 Monate | SW Ingenieur

Spezifikation und Implementierung von Firmware, Treiber-Software und API für eine PCI-Erweiterungskarte, die zur Kommunikation mit CAN-Netzen eingesetzt wird.

Die Firmware erweitert das Kommunikations-Protokoll um einen projektspezifischen Application-Layer, der die deterministische Kommunikation in Echtzeit ermöglicht.

Aufgaben: Entwicklung

Technologien: Zielplattformen Windows 9x / Windows NT. Die Umsetzung erfolgt in C.