Freelancerprofil: SW-Entwuckler, Hauptsprache Python in München, Deutschland

SW-Entwuckler, Hauptsprache Python

| München, Deutschland
Um den Freelancer zu kontaktieren, müssen Sie eingeloggt sein
FREELANCER KONTAKTIEREN

Freelancer-Vorstellung

FÄHIGKEITEN, KENNTNISSE UND ERFAHRUNGEN

Profil Nenad Propadović
Persönliche Angaben

Sprachen: sehr gute Kenntnisse Deutsch, Englisch und Esperanto, Serbokroatisch Muttersprache, Grundkenntnisse Spanisch.
Adresse: Kapuzinerstr. 2, 80337 München.
Handy: ××××/×××××××××××××
E-Mail: ××××××××××××××××@×××××××××××
Verfügbarkeit: nach Absprache.
Abschluss: Diplomingenieur Automatik und Elektronik, ETF Fakultät für Elektrotechnik, Uni Belgrad (Vergleichbar mit Steuerungs- und Regelungstechnik TU).
Geburtsdatum und Geburtsort: 11.1.1969, Čačak, Serbien.
Staatsbürgerschaft: Serbisch.
Fachlicher Schwerpunkt
Ich habe mich 2002 für Python als mein Hauptwerkzeug entschieden, und vertiefe diese Spezialisierung seit Jahren zunehmend.
Davor und zwischendurch habe ich aber auch in folgenden Bereichen gearbeitet:
Klassische und Modellbasierte Software-Entwicklung in Python, C, C++, Java, C#, Embedded / Echtzeit-SW.
Jegliche Art von Testentwicklung und Testautomatisierung.
Installer Erstellung bis dato in WiX, NSI, AutoIt 3. Build-Prozess-Management in Python und Batch-Skripten.
Automotive-Applikationen im Bereich Bus-Systeme, HiL, Diagnose: Anwendung, Neu- und Weiterentwicklung, Entwicklung von Schnittstellen zwischen Applikationen (Integration).

Die verschiedenen Erfahrungen möchte ich nicht missen, aber die Spezialisierung auf Python steht fest.
Technisches Know-How
Aufgaben in Python
Entwicklung von Testframeworks, Testtools und Tests. Parsen, auswerten, bearbeiten von Daten verschiedenen Formaten, Erstellen von Code-Generatoren und Installer-Programmen. Ansteuern und auslesen von Hardware. Erstellen von (statischen und dynamischen) Webseiten. Speichern, Auswertung und Darstellung von Messergebnissen. Erstellen komplexer Word-Dokumente. XML-Manipulation. Qualitätssicherung durch Unit-Tests.
Mit Python verwendete Tools
Python 1.5, 2.1-2.7, 3.x Echtzeit-Python
Wing IDE, Scite, PyCharm, PyDev
NumPy, SciPy, Matplotlib, Pandas
Yaml, lxml, XML, json, configparser
Regular expressions, logging, unit tests (verschiedene libraries), argparser
Windows & Linux, Bash-Skripte, MobaXterm
Word, Excel (und enstsprechende Bibliotheken)
Mongo-DB, python-docx
Pyramid, Kotti, Postrgres, REST
Django, SQLite, HTML
PySide, PyQt
Matlab
Andere Programmiersprachen und Entwicklungsumgebungen
AutoIt 3
C, C++, C#, Java
Matlab/Simulink
Visual Basic 6.0
Visual Studio 6.0 / ××××/××××××××××××× / .Net 2.0
Eclipse
Model-basierte Tools (Case-Tools)
Trice (ROOM / Echtzeit-UML)
EXAM
Metaedit+ (Domain Specific Languages)
Enterprise Architect (UML)
Tools aus dem Automotive-Umfeld
Testautomatisierung: ECU-Test, EXAM, TestStand, 4CS (MOST Testautomatisierung), Vector CANoe, Modena.
Test management: ALM / QualityCenter 7-11, TestDirector
Hardware in the loop (HiL): dSpace Simulator Midrange und Compact, concurrent HiL, xPC, FIU dS749.
dSpace-Software: ControlDesk, AutomationDesk, rtplib, ioclib, Ediabaslib, clib, RTT (Echtzeit-Python), CAN Blockset, CAN Multimessage Blockset.
Diagnose: EDIABAS, Inka.
Requirements: DOORS


Projekte
Januar 2018-heute Test von Portalen und Webseiten mit Python/Selenium-Testframework Testa
Bereich: Testen, zum Teil Entwicklung von Webseiten und verwandten Technologien. Tools und Technologien: Python, PyCharm, Testa, Selenium, XPath, HTML, CSS, Git, Jenkins, Docker, Conda Constructor, Yaml, Atlassian Tools – Confluence, Jira, Zephyr.
Test-Entwicklung:
• Der größte Teil des Projekts ist Testentwicklung für diverse Web-Portale. Die Testfälle werden in den Test-Framework Testa erstellt, das auf Python und Selenium basiert. Unmittelbar notwendig für die Testentwicklung sind Kenntnisse in Python, HTML, CSS, XPath und Git. Fertig entwickelte Tests werden anschließend für die Continuous Integration in Jenkins eingespielt und dessen Reports den Kunden zur Verfügung gestellt. Zuletzt läuft Jenkins mit Testa und allen Testfällen in einem Docker-Container der die Infrastruktur des Endkunden verwendet.
Weiterentwicklung des Test-Frameworks Testa:
• Ich war punktuell beteiligt an der Weiterentwicklung von Testa, u.a. bei der Konzeptentwicklung für Test-Flows (die mehrere aufeinander aufbauende Tests beinhalten), und an der Confluence-Anbindung zur Darstellung von Test-Reports im Kundenportal.
Entwicklung Installer:
• Auftrag: Entwicklung eines Testa-Installers für mehrere Plattformen (Windows, Linux, evtl. MacOS). Als Grundlage für die Umsetzung habe ich Conda Constructor gewählt, ein Tool von Anaconda, Inc. (zuvor als Continuum Analytics bekannt), die die größte unabhängige Multiplatform Python-Distribution Anakonda zur Verfügung stellen. Der Installer installiert git und notwendige Python-Pakete via pip und checkt die Repository aus.
Docker-Container-Entwicklung:
• Auftrag: erstellen eines Docker-Containers in dem eine aktuelle Version von Testa für den Testbetrieb zur Verfügung gestellt wird. Das Docker-File sieht erneut die Installation von Python und notwendigen Libraries vor, Installation von git, auschecken der Testa-Repository und Nachinstallation von Libraries via pip, dann einen minimalen Test, um festzustellen, dass der Container Test-bereit ist.
Anbindung an Confluence:
• Die aussagekräftigen Reports sollten im Portal das Endkunden nachgebaut werden. Dazu habe ich unter den ca. 10 bestehenden Confluence Python Libraries die eine gewählt die funktioniert, um dir Reports dort einzuspielen. Die Reports musste ich in der Markup-Sprache von Confluence nachbauen, da keine direkte Verwendung von HTML und sehr eingeschränkter Einsatz von CSS möglich ist. Das Ergebnis wurde allgemein als sehr gelungen eingestuft.
Anbindung an Jira und Zephyr:
• Für den Transfer von Testfällen aus dem alten Jira Portal ins neue wurden Testfälle manuell exportiert. Für den Import ins neue Jira Portal habe ich die Jira Python Library verwendet, wie auch die REST-basierte Zephyr Python Library.
Januar-Dezember 2017 Python Test-Framework-, und Test-Entwicklung, für Roboter, in Python, anknüpfend an das Projekt von 2016
Bereich: Robotik. Tools: Python, PyCharm, NumPy, SciPy, Matlab, Matplotlib, Pandas, CAN & CANOpen, MobaXterm, Mercurial mit TortoiseHg, Windows & Linux, Yaml, regular expressions.
Test-Framework- und Test-Entwicklung:
• Entwicklung von Gripper-Endurance-Tests und weiteren Gripper-Tests mit spezifischer Anwendung. Tools: Python, NumPy, SciPy, CANOpen, CAN.
• Speicher- und Darstellungsfunktionalitäten für Messdaten: Entwicklung von spezifischen Datenstrukturen, Diagrammen und Darstellungen. Tools: NumPy, SciPy, Matlab, Excel als Speicher für Konfigurationsdaten.
• Speicher- und Darstellungsfunktionalitäten für Auswertungsdaten: Entwicklung von pandas.DataFrame basierten Datenstrukturen; Wiederverwendung von Diagrammen und Darstellungen. Tools: NumPy, SciPy, Pandas, Matlab.

Mai – Dezember 2016 Python Test-Software-Entwicklung zum Test von Robotern
Bereich: Robotik. Tools: Python, Bash-Skripte auf Linux, PyCharm, NumPy, SciPy, Matlab, MobaXterm, Mercurial mit TortoiseHg, Windows & Linux.
Jegliche SW-Entwicklung in der Testabteilung (Testcenter) einer Firma, unter anderem:
• Überarbeitung (refactoring) und Weiterentwicklung der Steuerungs-Software mehrerer Anlagen zum Testen von mechanischen Eigenschaften von Roboter-Gelenken; Schwerpunkt der Entwicklung war in Python.
• Überarbeitung (refactoring) und Weiterentwicklung einer Software (in Python) zur Transformation von Zeitreihen gemessener Signale in Matlab-Strukturen (*.mat-Files). Die so generierten Daten sind für die Auswertung durch bestehende Matlab-Skripte vorbereitet.
• Erweiterung der Backup-Infrastruktur. Im Testcenter Fallen täglich mehrere Dutzend bis mehrere Hundert Gigabyte an Rohdaten (Messreihen) an. Für das zuverlässige Speichern und schnellen Zugriff auf die Daten habe ich das bestehende Konzept erweitert, durch Überprüfungen ergänzt und in Bash-Skripten und Python umgesetzt.

Januar - April 2016 Entwicklung eines Frameworks zum Postprocessing von Berechnungsergebnissen

Bereich: Automotive. Tools: Python unter Linux, PyCharm, Unittests, YAML.
Aufgaben: Transformationen von bestehenden Steuerungs-Files
Aufbau von Verzeichnisstrukturen.
Übersetzung bestehender Perl-Skripte nach Python.
Weiterentwicklung von Skripten die kinematische Ketten im Fahrzeug beschreiben.
Februar – Dezember 2015 Umfeld Test Getriebe-Steuergeräte (BMW)
Testen von Automatikgetriebe-Steuergeräten am HiL. Spezifikation und Automatisierung von Tests aufgrund von Anforderungen des Endkunden (QC/ECU-Test). Entwicklung von Utilities (in Python) zur Auswertung der Testabdeckung. Eingesetzte Tools und Entwicklungsumgebungen: ECU-Test, QualityCenter/QC/ALM, DOORS, Python, Ediabas, Control-Desk, OMR, Subversion/SVN.
Juli 2015 – Oktober 2015 (nebenberuflich): Entwicklung einer Web-Applikation für Verwaltung medizinischer Messdaten
Entwicklung einer Web-Applikation für Verwaltung medizinischer Messdaten in Python. Eingesetzte Tools und Frameworks: Python, Pyramid/ Kotti, Postrgres, REST.
September 2014 – Februar 2015: Entwicklung einer Web-Applikation für kollaborative Dokumentenerstellung
Entwicklung einer Web-Applikation für kollaborative Dokumentenerstellung. Eingesetzte Technologien: Python, Mongo-DB. Mein Anteil war der Word-Export der erstellten Dokumente unter Einsatz der XML-Sprache für Word-Dokumente (ooxml für Word oder Word-XML). Neben der Library python-docx wird direkter Zugriff auf den XML-Source-Code des Word-Dokumentes via lxml verwendet, um diverse Features, die von python-docx nicht zur Verfügung gestellt werden, zu implementieren.
Mai – Oktober 2014 (nebenberuflich): Entwicklung einer Web-Applikation für Patientenverwaltung (Klinikum Großhadern)
Entwicklung einer Patientenverwaltung für die Studienzentrale des Schwindelzentrums am Klinikum Großhadern. Eingesetzte Technologien: Python, Django, SQLite, HTML.
Februar – September 2014 Umfeld Test Hybrid Elektromotor–Steuergeräte (BMW)
Übernahme, Entwicklung, Ausführung von Testfällen, in QualityCenter und ECU-Test.
Februar - Dezember 2013 Umfeld Test Getriebe-Steuergeräte (BMW)
Entwicklung Testskripten (QualityCenter, ECU-Test) und div. Utilities (Python) zur Auswertung der Testabdeckung; Test der Steuergeräte.
April - November 2012 Umfeld Restbussimulation (BMW, Reliatec)
Teilaufgaben:
Thema Automotive Ethernet + TCP/IP: Untersuchung Vector CANoe, Scapy
Entwicklung Tests für xRbs. Die bestehende Software-API musste mit Tests abgesichert werden. Die Entwicklung der Tests war in Python, unter Einsatz der XML-Bibliothek Element Tree und json.
Auswahl dezentrales Konfigurationsmanagement-System (Hg, Bazaar, Git)
Testautomatisierung für LinRbs. Die bestehende Software wurde um ein Testautomatisierungsframework erweitert. Mein Anteil war Konzeption des Frameworks und Implementierung der Lin-Bus-Zugriffe in Python. (Python, Qt, PySide, LIN-Bus)
LIN-Bus Panels: Entwicklung eines GUI-s zur Anzeige von Lin-Bus-Signalen. (PySide, Python, Vector CANoe COM Interface)
August 2011 – März 2012 Test Motorsteuergeräte am HiL (Audi)
Test Motorsteuergeräte. Anpassen bestehender Tests auf neue Steuergeräte. Auswertung. Entwicklung von Auswertungen in Excel (VBA). Automatische Umstellung von in Excell abgelegten Tests (ca. 60 Sheets pro Arbeitsmappe) auf ein neues Steuergerät (in Python)
Tools: EXAM, Python.
Februar - Juli 2011
Entwicklung der Webseite und des Marketings für das Software-Produkt WinOffice Pro 5.
September 2010 - Januar 2011
TSS GmbH (100%-Tochter der Daimler AG) in Ulm.
Projekt car2go.
Aufgabe: Testverantwortlicher im Backend-Projekt
Es handelt sich um ein komplexes System zum spontanen Mieten von über ganz Ulm verteilten Fahrzeugen (Smart). Ich war in dem Teil des Teams, das die Web-Basierte Applikation gebaut hat, bestehend aus mehreren Servern und mehreren Datenbanken. Umfang der Aufgabe: aufspüren der nicht getesteten Teile; z.T. erstellen, z.T. überprüfen der implementierten Tests.
Tools & Sprachen: Python, Java/ JUnit, Selenium, HP Quality Center, SVN.
Februar 2008 bis Juni 2010 Testautomatisierung EXAM (Audi)
Arbeit im Team Testautomatisierung EXAM. EXAM ist ein UML-basiertes Tool zum erstellen und ausführen von Testabläufen und zum betrachten und auswerten von Ergebnissen der Testläufe im Automotive-Umfeld bei Audi. Tools: EXAM 1.3, 1.4,2.0, Modena; dSpace-Bibliotheken, Wing IDE, Scite, Eclipse/PyDev. Programmiersprachen Python, C, Matlab.
Aufgaben in diesem Einsatz:
1) Weiterentwicklung der Platform-Anbindung. Vor allem die Anbindung dSpace-HiLs an EXAM. Mapping von Platform-Variablen auf symbolische Namen (Shortnames) oder Positionsnamen (Full Scope Names). Weiterentwicklung des Lean Mapping (automatisches Mappen auf Grund bestehender, bereits gemappter Variablen).
2) Einführung von Unit-Tests als Werkzeug der Qualitätssicherung für den Source-Code.
3) Einsatz als „Firefighter“ (Support bei Problemen mit kritischer Auswirkung, bei denen vertiefte Python-Kenntnisse und allgemeine Programmier-Erfahrung von Nöten waren).
4) Weiterentwicklung der Anbindung Modena-EXAM. Modena ist ein State-Chart basiertes Tool, das bei Audi zum Test vom Multi-Media Interfaces verwendet wird.
5) Weiterentwicklung der Anbindung EXAM-xPC. xPC ist ein Matlab-basiertes HiL –System.
6) Weiterentwicklung der Anbindung EXAM-Concurrent-HiL. Concurrent ist ein Echtzeit-Linux-basiertes HiL –System.
Januar 2007 - April 2008 (nebenberuflich): Mitentwicklung einer Kaufmänischen Applikation zur Führung kleiner Firmen
Inhalte: Auftragsverwaltung, Adressverwaltung, Schriftverkehr etc.
Aufgaben:
Entwicklung von Komponenten des Frameworks in C#/.Net 2.0
Entwicklung des Installers und des Bootstrappers.
Build-Prozess mit Python und Windows-Batch-Skripten.
Tools: C#/.Net 2.0, WiX (MSI), Python, AutoIt3.
2007 Oktober bis Dezember: Testautomatisierung mit Metaedit+ (BMW)
Entwicklung einer grafischen Sprache zur Testautomatisierung im Automotive-Umfeld. Tool Metaedit+, dSpace-Bibliotheken.
2007 Mai bis September: Testautomatisierung mit RTT (BMW)
State-Machine-basierte Tests auf Basis von RTT und Stateflow-Modellen.
Umfeld: Neuentwicklung Hybrid, HiL von dSpace.
Zielsetzung: Überprüfung der korrekten Reaktion einzelner Output-Signale eines Steuergerätes auf Input-Signale.
Umsetzung: Das Modell der Funktionalität einzelner Output-Signale wurde in State Machines im Stateflow-Modell abgebildet. Die korrekte Reaktion der Signale wird in Echtzeit-Python überprüft (RTT der Firma dSpace).
2007 April bis September: Standardisierungsarbeit HiL-API (BMW)
Teilnahme an der HiL-API-AG, Entwicklung von Teilaspekten der HiL-API UML-Modelle in Enterprise Architect. Zweck der Entwicklung ist Standardisierung von SW-Zugriffen auf HiL-Syteme.
2007 Februar-März: Restbus-Simulation mit CAN Multimessage-Blockset Teil 2 (BMW)
Konkrete Anwendung der im Vorjahr entwickelten Software (siehe unten Teil 1).
2007 Januar-Februar: Untersuchung der Kombination neuer dSpace- und Matlab-Releases auf Einsatzbereitschaft (BMW)
Ein altes großes Simulink-Modell wurde auf dSpace 5.1 und dSpace 5.2 zum laufen gebracht, die anfänglichen Probleme wurden verfolgt und eingegrenzt.
2006 September-Dezember: Untersuchung UML auf Tauglichkeit als Grundlage für eine Sprache zum Austausch von Testfällen (Testaustauschformat) bei BMW
Verwendete Tools: Enterprise Architect. UML wurde als zu umfangreich und uneindeutig befunden, um es zum genannten Zweck zu verwenden.
2006 Mai-August: Aufabu eines Teststandes auf Grundlage von dSpace-HiL Midrange zum schulen neuer Mitarbeiter (BMW)
1) HW: Aufbau und Anbinden eines Steuergerätes über den dSpace CAN-Highspeed-Lowspeed Adapter.
2) Erstellen eines Layouts zum bestehenden Simulink-Modell (ISAR).
3) Erstellen der Testfälle unter Einsatz der Werkzeuge AutomationDesk und ECU-Test. Ausführende Werkzeuge: Ediabas, rtplib, FIU (ioclib).
2006 Februar-April: Restbus-Simulation mit CAN Multimessage-Blockset Teil 1 (BMW)
Entwicklung einer Restbus-Simulation auf Grundlage des CAN-Multimessageblocksets von dSpace. Zu versendende Nachrichten wurden aus zu simulierenden Steuergeräten, bestehenden Steuergeräten im Bus-System und individuell einstellbaren Filtern berechnet. Gesondert berücksichtigt wurden Zähler und Alive-Signale, wie auch Netzwerk-Botschaften. Tools: CANMM, Eclipse / PyDev, Python, SQLite/PySQLite.
Januar bis Dezember 2005 (nebenberuflich) Entwicklung von Finanzapplikationen auf Grundlage des jPos-Frameworks.
Sprache: Java 1.4, Tools: jPos, Eclipse, Ant, Jython.
August 2003 bis Dezember 2005 Entwicklung einer durchgängigen Tool-Kette für Tests auf HIL-Systemen bei der BMW AG
Verbinden mehrerer SW-Systeme in eine durchgängige Tool-Kette. Zentrale SW-Komponenten: Testsequenzer TestStand von National Instruments, ECU-Test von Tracetronik, Test-Management Tool QualityCenter (ehemals TestDirector) von Mercury.
Folgende Anbindungen und Komponenten wurden erstellt:
1) Anbindung TestStand-ControlDesk (über die rtplib und Python/C API)
2) Anbindung TestStand-Ediabas (Schnittstelle in C/C++: MSVC6.0 und CVI von National Instruments)
3) Alternatives GUI für TestStand (Visual Basic 6.0).
4) Anbindung QualityCenter-ECU-Test (Visual Basic 6.0, COM, zLib, Excel, HTML). Alle Komponenten der OTAG Schnittstelle wurden implementiert.
5) Testschritttypen für ECU-Test zum Prüfen des Konzepts der Austauschbarkeit der Testplatform (Python / wxPython).
6) Tests in Teststand und ECU-Test für die Telefon-Abteilung
Folgende Untersuchungen wurden durchgeführt:
1) TTCN 3 auf Einsatz als Grundlage für Testautomatisierung.
2) Vergleich von Testautomatisierungswerkzeugen ECU-Test, AutomationDesk, TestStand
2003 Januar bis Juli Komponententester für Komponenten im MOST-Ring bei der BMW AG
Tätigkeiten:
1) Anpassen des Formats des BMW - MOST - Katalogs, so dass das XML-File validierbar ist.
2) Weitere Transformationen am XML-File zu verschiedenen Zwecken, alle unter Einsatz der Programmiersprache Python.
3) Erstellen von Test-Skripts zum Testen von MOST - Komponenten unter Berücksichtigung von bestehenden MSCs.
4) Koordination mit dem Tool-Hersteller des Test-Systems 4CS.
2002 Mai bis Dezember SW-Tester für ein CAN-MOST Gateway bei der BMW AG
Tätigkeiten:
1) Technische Anleitung der ausführenden Firma und dessen Koordination mit den Anwendern (Testern bei BMW).
2) Teilspezifikation und Präzisierung der Funktionalität, des grafischen Layouts und der Ausgabe der Ergebnisse.
3) Organisation der Kommunikation mit der ausführenden Firma inklusive der Bugreports.
4) Auswertung der zu testenden Fälle unter Einsatz der Programmiersprache Python.
5) Auswertung des Speicherverbrauchs und des Speicherlayouts der Gateway-SW unter Einsatz der Programmiersprache Python.
6) Erstellen eines Alternativkonzepts (inkl. Spezifikation) zum testen des Gateways und dessen Teilweise Implementation auf Grundlage des Programms Vector CANOe Option MOST.
2002 Januar bis April Weiterbildung im kaufmännischen Bereich: Marketing, Buchhaltung, Firmenführung.
Mehrere eigene Projekte in Python, Java (1.3) und C++ (MSVC 6.0).
2001 Februar bis Dezember Für die Firma Protos GmbH und deren Kunden
1) Auswahl der Komponenten für ein USB-basiertes Projekt.
2) CAN und CAN-Open Treiber auf unterschiedlicher HW.
a) Der erste Treiber war eine Anpassung des C167-Treibers von Infineon. Das Gegenstück im Netzwerk war ein CANOpen-basiertes digitales IO-Modul.
Der C167 war auf einem Board der Firma Keil. Entwicklungsumgebung: uC2 der Firma Keil.
b) CAN Treiber auf einem QNX-basierten System (Steuerrechner einer Sondermaschine). Spezifikation und Implementierung mehrerer Treiber. Netzwerkteilnehmer waren zum Teil digitale Vipa-IO-Module, zum Teil eigens entwickelte HW Boards mit komplexer Funktionalität (Multi-IOs). Die Entwicklungsumgebung war das Casetool Trice und der Watcom C++ Compiler.
c) Ansprechen der IXXAT-CAN-Karte aus einer Windows-NT basierten echtzeitfähigen Umgebung heraus (Lösun aufgrund der Karte von LP-elektronik). Dazu mußte ich den IXXAT-CAN-Treiber auf diese Umgebung anpassen. Entwiklungswerkzeuge: MSVC++, WAGO-IO-Modul.
d) Treiber für das WAGO IO Modul und das Serielle WAGO Modul. Werkzeuge: CASE-Tool Trice, MSVC++.
e) CAN-Treiber für die Ansteuerung von Servomotoren der über den Regler der Firma e-motion. Umgebung: C167/Phytec Board, Keil Entwicklungsumgebung, e-motion Regler mit der eigenen Sprache -Epos-.
Verwendete HW: WAGO-Module, VIPA-Module, IXXAT-Karten, CAN auf Infineon uC (C505, C167).
3) Entwicklung von SW Komponenten mit dem CASE-Tool Trice und C/C++.
Anmerkung: Trice wurde auf Grundlage der ROOM -Methodologie Entwickelt. Dies ist die selbe Methodologie, auf der Rose RT aufgebaut ist.
4) Änderungen an den Digitalen und Analogen Klassen der Virtuellen Maschine der Steuerung.
5) Weiter mehrere kleinere Projekte und Teilprojekte für Kunden des Auftraggebers auf Basis des CASE-Tools Trice.
September 2000 - Januar 2001 TV-Signalverarbeitung mit M2(SDA 6000).
M2 ist ein C166-Derivat mit zusätzlicher Funktionalität:
1) zur Verarbeitung der TV-Teletext-Signale (und anderer Digital-kodierter Signale im Analogen TV-Signal-Fluß)
2) zur Darstellung digital generierter Bilder auf dem TV-Bildschirm (z.B. Teletext -Anzeige). Ziel des Projektes war implementation eines neuen Protokolls, das digitale Daten im Fernsehenbild zu übertragen hatte. Zuerst war ein zusätzlicher Miktokontroller dafür vorgesehen, dieser wurde dann auf Grund eines Einfalls von mir rausoptimiert und die verarbeitung wurde dem M2 überlassen (der sich ohnehin in jedem Fernseher befindet).
Meine Aufgabe bestand in mehreren klein - Projekten. Darunter hervorzuheben, mehrere Tools:
1) zum speichern des Images über die serielle Schnitstelle, mit Umwandlung und Speichern ins Flash;
2) Test - Tools für das Protokoll.
Tools: Keil, ICE von Lauterbach.
Juli 1999 Gründung eigener Firma im Dienstleistungsbereich.
Der Betrieb wurde Mitte 2001 eingestellt.
April ××××/××××××××××××× bei GSM-SW Hersteller Optimay in der Entwicklung und im Technischen Support.
SW - Entwicklung unter Einsatz von C unter RTOS:
1) Entwicklung von HW-Treibern für Schnittstellen-HW (Batterie Messung, eingefügt in GSM Protokoll Stack). Umfang ca. 6 Monate.
2) Entwicklung Kundenspezifischer Methoden und Zusätze im GSM - Protokoll Stack. Diese Entwicklung war für ein GSM-Handy, auf Basis der Chipsätze GOLD und HiGOLD. Beides sind C166-Derivate, ergänzt mit zusätzlichen DSP-s und RF-Teil Anbindung. Das umfassendste Projekt war der oben genannt Batterie - Treiber (der zu kontrollieren hatte, wie Weit die Spannung der Batterie für das funktionieren des Handys ausreichend war). Hintergrund: der AD - Wandler der für die Batteriemessung zuständig war wurde auch im Audio-Pfad des Chipsatzes verwendet. Deswegen mußte man innerhalb des Zeitrahmens von 4,6 ms an einer geeigneten Stelle die Kontrolle über den ADC übernehmen (Ist-Zustand speichern, umkonfigurieren), wieder auf geeigneter Stelle die Messung ausführen und zu Verfügung stellen, und die Kontrolle des Audio-Pfads über den ADC wiederherstelle. Dabei waren verschiedene Abhängigkeiten zu berücksichtigen (z.B. ist der Zeitpunkt zu dem das Handy sendet nicht geeignet für Messungen, da das Messergebnis verfälscht wird).
Die genaue zeitliche Abfolge der verschiedenen Schritte wurde durch Einsatz eines der 4 HW-Interrupts die auf dem Chipsatz zu Verfügung standen geregelt (d.h. man mußte für jeden neuen Schritt auch den Interrupt umkonfigurieren - Zeit setzen, scharf machen). Zusätzliche Komplexitätsgrade kamen im Projekt hinzu, in dem:
a) der genannte HW-Interrupt auch für andere Aufgaben verwendet wurde;
b) die geeigneten Zeitpunkte innerhalb des Zeitframes für das Messen unterschiedlich waren, je nach Kanal auf dem sich das Handy befand(TCh, BCh usw.)
Die Entwicklungsumgebung bestand (auch in den nachfolgenden Projekten) aus dem HW-Board von Siemens, dem Keil-Compiler/Linker (damals noch DOS-basiert) und darauf aufbauenden firmeninternen Tools (Batch-Dateien für einen automatischen Compile/Link/Hex2Bin-Zyklus). Die Binaries wurden über die JTAG Schnittstelle ins RAM geladen und getestet. Für das Debuggen wurden ausgaben aus einem selbstgemachten Trace-Tool benutzt. Die endgültigen Tests, ob der Treiber die Funktionalität des Handys beeinträchtigt wurden mit GSM-Testern durchgeführt. Während der Entwicklung waren manchmal analoge und digitale Oszyloskope von Nutzen.
3) Parallel und Anschließend zu dieser Entwicklung habe ich mehrere Firmen im Technischen Support betreut. Dabei sind meist technische Fragestellungen aufgetreten, die durch alle Ebenen des Protokoll-Stacks gingen (inklusive aller GSM-Layer, des HW-Layers und des MMI). Meist war die Test-Umgebung für die Probleme wie oben beschrieben (mit dem unterschied das das Testen auf fertigen Produkten passierte, unter Einsatz der firmenspezifischen Flash-Tools). Zum lösen der Probleme waren nötig: ein grundlegendes Verständnis des Aufbaus des GSM-Stacks, wie auch Detailwissen über die Teile des Stacks, in denen die Probleme aufgetreten sind.
4) MS Access: Error-Report DB, die die alte Paradox-basierte DB abgelöst hat.
5) PC Kalibrations-SW für Mobiles (bei Produktion). Hauptsprache C, Teile in Delphi, GPIB. Einsatz von HP - GSM Teststationen.
Die grundlegende Umgebung wie oben. Ziel dieses Projektes war fein-Kalibration der RF-Teile des Mobiles am Ende der Produktion, um optimale Sende- und Empfangsqualität zu erreichen. Dazu hat man die Charakteristik des jeweiligen RF-Teils mit einem GSM-Tester gemessen, und aufgrund der Abweichung vom Optimum die Sende- und Empfangstabellen angepasst, und ins Flash gespeichert. Der größte Teil der Arbeit war auf der Handy-Seite. Das Programmieren des Testers geschah zum in einer Hersteller-eigenen Basic-ähnlichen Sprache.
6) Firmeninterne Schulung zum Thema Produktions (Kalibrations) - SW.
Mai 1995 - März 1997 bei der Firma Software Factory
Entwicklung von Software überwiegend Datenbank-basiert, GUIs, Kommunikation (TCP/IP, RS232), mathematische Algorithmen:
1) MS Excel (mit VBA): PC-Client zur Auswertung von Produktionsdaten für Druckmaschinenhersteller. Abrufen der Daten via ODBC (von VMS RDBMS Server). Vielseitige Auswertung und Darstellung der Daten, dynamische Tabellen - Ansichten.
2) MS Access: Tool für Waferverwaltung für namhaften Halbleiterhersteller. Erweiterung der bestehenden Funktionalität. Erweiterung der Abfragen. Einführung neuer Sicherheitsstufen / Zugriffsrechte. Mehrere neue Masken, Erweiterung der Reports. Ständiger Kundenkontakt und Einführung vor Ort.
3) MS Access: Tool zur weltweiten Planung der Produktion für Automobil - Teile Hersteller. Erweiterung der bestehenden Funktionalität. Geschwindigkeitsoptimierung der Abfragen. Mehrere neue Masken, Reports, Grafische Darstellung erweitert. Daten/Masken Trennung. Einführung vor Ort.
4) Ansteuerung der Seriellen Schnittstelle: Erstellung einer DLL ( unter MSVC++ ) zur Steuerung der Serverseitigen seriellen Schnittstelle (RS232).
5) CAD (ProEngineer): Entwicklung mathematischer Konzepte (z.B. Besier-Kurven, Schnittbestimmung) und Umwandlung in Algorithmen.
6) TCP/IP: Entwicklung eines Clients basierend auf den Telnet- und FTP-Protokollen (Socket - Programmierung; Dateitransfer und Ausführen komplexer Aufgaben auf der Server-Seite; Realisierung in C, in Form einer statischen Bibliothek).
7) CA Ingres - Open Road (4GL) unter Windows und Unix- ca. 10 Projekte: Erstellung und Pflege mehrerer komplexer SQL - Datenbankapplikationen. Bereiche:
8) Verwaltung von KKW-Daten
a) DB Erstellung, Altdaten-Übernahme/Anpassung, Reporterstellung unter Einsatz von MS Word/DDE.
b) BTX-Seitenerstellung. Zusammenführung bestehender Applikationen.
c) Tool zum Aufspüren von falsch eingetragenen Datensätzen.
d) Entwicklung und Installation beim Endkunden.
9) Internes, weltweites Tool für Halbleiter - Hersteller: Internationalisierung (Deutsch/Englisch).
Januar bis April 1995 Firma EOS (Branche Rapid Prototyping)
Entwicklung eines Teststandes für die Erfassung mechanischer Meßwerte: Hardware und Datenerfassungssoftware. Verbindung DSP-uC- und Ansteuerungssoftware für Schrittmotore in MS Visual C++; Auswertung und grafische Darstellung Makro-gesteuert in MS Excel).

Referenzen

Auf Anfrage werden Referenzen von Projektleitern bei BMW, Audi und weiteren Firmen genannt.

FREELANCER KONTAKTIEREN
Bitte loggen Sie sich ein oder registrieren Sie sich, um das Freelancer zu kontaktieren.
Neu bei projektwerk?